0

'Submit'初期値がで、その ID が'submit1'これで使用されるボタンを持つフォームがあります。

$( function(){
$("#submit1").click(function () {
    alert("i got ");
    var dname = $("#dname").attr('value');
    if(jQuery.trim(dname).length == 0){
        $("#dnametd").append("<span id='requiredsp' class='vanadium-advice vanadium-invalid'>Thissss is a required field.</span>");
        $("#dname").keyup(function () {
            $("#requiredsp").remove();
        });
    }
    else{
var dname = $("#dname").attr('value');
var symptons = $("#symptons").attr('value');
$.ajax({
                type: "POST",
                data: "method=" +"addDisease"+"&dname="+dname+"&symptons="+symptons+"&status="+"y",
                url:  "classes/disease_type.class.php",
                success: function(){
                gettables();
                    }
               }); 
        $("#newformreg").hide( { direction: "left" }, 1500);
        $("#dname").val('');
        $("#symptons").val('');
    }

    });
});

後でサーバーからデータを取得し、ID の非表示のテキスト ボックスを使用して上記のフォームでそれらのデータを取得し、ボタンの値を Update に変更し、ID を以下のように更新します。

  function doEdit(id){
        $.ajax({
                type: "POST",
                data: "method=" +"getDisease"+"&did="+id,
                url:  "classes/disease_type.class.php",
                success: function(myVar){
                    $("#newformreg").show( { direction: "left" }, 1000);
                    arr3=myVar.split('%');
                    $('<input>').attr({type:'hidden',id:'did'}).appendTo("#insertForm");
                    $("#did").val(arr3[0]);
                    document.getElementById("dname").value=arr3[1];
                    //$("#dname").val(arr3[1]);
                    $("#symptons").val(arr3[2]);
                    $("#submit1").prop({id:'update',value:'Update'});
                    //document.getElementById("submit").value="Update";
                    //document.getElementById("submit").id="update";
                },
                }); 
                            }

            $( function() {
            $("#update").click(function () {
            var upvalue = $("#update").attr('value');
            alert("updateclick");
            alert(upvalue);
            var dnamee = document.getElementById("dname").value;

            if(jQuery.trim(dname).length == 0){
                $("#dnametd").append("<span id='requiredsp' class='vanadium-advice vanadium-invalid'>Thissss is a required field.</span>");
                $("#dname").keyup(function () {
                    $("#requiredsp").remove();
                });
            }
            else{
                alert("proper");
            var did = $("#did").attr('value');      
            var dname = $("#dname").attr('value');
            var symptons = $("#symptons").attr('value');

                $.ajax({
                type: "POST",
                data: "method=" +"updateDisease"+"&dname="+dname+"&symptons="+symptons+"&did="+did+"&doUpdate="+"edit",
                url:  "classes/disease_type.class.php",
                success: function(){
                    $("#msgdiv").addClass("msg success").add('<span>Record Updated Successfuly</span>');
                    }
               }); 
            }
        }); 
    alert("out");
           });

しかし、これを行った後でも、更新をクリックするたびに、上記の送信ボタンの機能が実行され、更新されません。また、私のページが開くと、上記が表示されますalert("out");。何が起こっているのかわかりません。

4

2 に答える 2

1

を使用$("#update").click()してクリック イベントをバインドしていますが、ページが初めて読み込まれたときに「更新」ID が存在しません。

.on()イベントを動的にバインドするには、メソッドを使用する必要があります。詳しくはこちらをご覧ください。

編集

あなたのコードはうまく書かれていません。ボタンに 1 つの ID (#submitBtn) を与え、更新/保存のクラスを与えることをお勧めします。次に、これを行います:

$("#submitBtn").click(){
    if ($(this).hasClass('save')){
    //do save code
    }
    else{
      //do update code
    }
}
于 2012-07-08T10:13:00.063 に答える
0
alert("out");

コード $( function() {で使用しているため、準備ができていることを意味します。

于 2012-07-08T10:16:13.177 に答える