0

私はサイトを開発しています (楽しみのためだけに jquery でプログラミングを学びます)、これの何が問題なのか知りたいです:

$(window).unload(function(){
 var myid = $('input#v1').attr('value');   // hidden
 var playauth = $('input#v2').attr('value');   // hidden
 var srvid = $('input#v3').attr('value');      // hidden
 var result = 'myid='+ myid +'&auth='+ playauth +'&srvid='+ srvid;
    $.ajax({
            type: "GET",
            data: result,
            url: "closing.php",
            complete: function(data) {
            alert(data.responseText);
            }
           });
});

データベース テーブルを更新しようとしています。ウィンドウを閉じても何も起こりません。この関数の以前のバージョンでは:

window.onunload = function () {
  var xhReq = new XMLHttpRequest();
  var n = document.getElementById("v1").InnerHTML;
  var o = document.getElementById("v2").InnerHTML;
  var p = document.getElementById("v3").InnerHTML;
  xhReq.open("GET", ("closing.php?myid=" + n + "&auth=" + o + "&srvid=" + p) , false);
  xhReq.send(null);
  var serverResponse = xhReq.responseText;
  alert(serverResponse); 
};

.. 応答アラートを見ましたが、GET 値は「未定義」でした。....おそらく入力のタイプが隠されているため..?これが私のフォームです...何かが足りないのでしょうか?? 私は本当にjquery/ajaxが初めてです..助けてください!!

<form method="get">
<input id="v1" type="hidden" name="val1" class="aget" value="<?php echo $_GET['myid']; ?>" />
<input id="v2" type="hidden" name="val2" class="bget" value="<?php echo $_GET['playauth']; ?>" />
<input id="v3" type="hidden" name="val3" class="cget" value="<?php echo $_SESSION['srvid']; ?>" />
</form> 

4

2 に答える 2

2

変化する

 var myid = $('input#v1').attr('value');   // hidden
 var playauth = $('input#v2').attr('value');   // hidden
 var srvid = $('input#v3').attr('value');      // hidden

 var myid = $('input#v1').val();   // hidden
 var playauth = $('input#v2').val();   // hidden
 var srvid = $('input#v3').val();      // hidden
于 2012-07-01T00:31:15.060 に答える
2

使用する必要があります

.val();それ以外の.attr('value');

于 2012-07-01T00:31:56.907 に答える