我正在尝试使用其ID获取我在jquery对话框中创建的文本框的值,并且我收到null。我认为这是一个简单的错误,但我无法找到它。你能不能看看下面的代码,告诉我在那里做错了什么。
$(document).ready(function() {
var name = $("#ip"), email = $("#stnid"), allFields = $(
[]).add(name).add(email);
$("#displayOrderDetailsDiv").on('click','.shippedOrder',function() {
var shipmentKey = $(this).closest('tr').find('td:first').text();
$( "#printLabelDialog" ).dialog( {
autoOpen: false,
height : "auto",
width : "auto",
modal: true,
buttons: [ {
text: "Print",
click: function() {
var ajax_load = "<img class='loading' src='loading.gif' alt='loading...' style='width: 20px; height: 20px; top: 50%; left: 50%; position:absolute;' />";
$( this ).html(ajax_load);
var ip = $("#ipAddr").val();
var stnid = $("#stnid").val();
$.ajax({
url : 'printLabelTrackingNumber.jsp',
type : 'POST',
data : {
ipAddr : ip,
stationId : stnid
},
success : function(data) {
$("#printLabelDialog").html(data);
},
error : function(err) {
alert(err.responseText);
}
});
}
} ]
});
$("#printLabelDialog").html("<form><fieldset><label for=\"ip\">Printer IP</label> <input type=\"text\" name=\"ip\" id=\"ipAddr\" class=\"text ui-widget-content ui-corner-all\"> <labelfor=\"stnid\">Station ID:</label> <input type=\"text\" name=\"stnid\" id=\"stnid\" value=\"\" class=\"text ui-widget-content ui-corner-all\"></fieldset></form>");
$( "#printLabelDialog" ).dialog( "open" );
});
});
我正在尝试使用返回null的行ipAddr
获取标识为var ip = $("#ipAddr").val();
的文本框的值。
答案 0 :(得分:0)
尝试:
var e = document.getElementById("ipAddr");
var ip = e.value;
这应该得到ipAddr的值,当然,如果ipAddr中已经存在某些内容。否则这仍将返回null。
答案 1 :(得分:0)
我弄明白了这个问题。在我获得该div中文本框的值之前,我使用#printLabelDialog
将$( this ).html(ajax_load);
的值设置为gif图像,因此我收到错误。
感谢大家的帮助。