我的一个页面中有一些ajax / jquery代码,而我遇到的问题是它在第一次加载页面时不起作用。如果我刷新页面它没有任何问题。它在Firefox第一次工作。我正在使用的所有变量都没问题,因为我已经提醒他们了。我没有收到成功或错误消息。它justr似乎没有做任何事情?
有什么想法吗?
$('.window .request').click(function (e) {
var itm = document.getElementById('txtItm').value;
var qty = document.getElementById('txtQty').value;
var msg = document.getElementById('txtMessage').value;
var op_id = document.getElementById('txtOp_id').value;
$.ajax({
type: "POST",
url: "do_request.php?msg="+msg+"&itm="+itm+"&qty="+qty+"&op_id="+op_id,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
document.getElementById('div_main').style.display='none';
document.getElementById('div_success').style.display='block';
var row_id = document.getElementById('txtRow').value;
document.getElementById('row'+row_id).style.backgroundColor='#b4e8aa';
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert('Error submitting request.');
}
});
});
答案 0 :(得分:0)
很难确定信息可能会出现什么问题,而且听起来你没有以一致的方式对页面进行全面测试。看起来页面上有另一个元素会影响click事件,而不是处理程序逻辑本身,但是没有办法说出来。确保在页面准备就绪后绑定到click事件:
$(document).ready(function(){
$("#uniquedomid").bind('click',function(){
// click handler logic
});
});
此外,由于您是JQuery的新手,您要开始考虑的一件事是JQuery可以改善您生活的各种方式。它几乎可以做到。但对于初学者,你将要开始使用:
$("#uniquedomid")
而不是
document.getElementById("uniquedomid")
和
$("#uniquedomid").val();
而不是
document.getElementById("uniquedomid").value