我有一个html对话框窗口,带有一个简单的输入字段和两个按钮(OK和Cancel)。
将提示用户在输入字段中输入文本,然后选择确定,然后我想获取输入(类型文本)字段的内容并使用它。但是,我似乎无法获取输入字段的内容。
这是我的代码:
Html对话框内容:
<div id="DescriptionDialog" title="Update Settings" style="display: none;">
<p>Please enter the reason for this update: </p>
<input id="StateDescription" name="StateDescription" class="longer" type="text" placeholder="enter description of change"/>
</div>
javascript函数 - 该函数由主页上的另一个按钮触发 - 打开对话框:
function DialogFunction() {
$('#DescriptionDialog').show();
$('#DescriptionDialog').dialog({
open: function () { $('.ui-dialog :button').blur(); },
width: 500,
modal: true,
resizable: false,
buttons: {
"OK": function () {
alert('OK');
var description = $('#StateDescription').val();
alert(description);
//This is where i will make an ajax call to use the description entered.
$('#StateDescription').val("");
$('#DescriptionDialog').hide();
$(this).dialog('close');
},
"Cancel": function () {// get rid of the dialog and reset the form
$(this).dialog('close');
$('#StateDescription').val("");
$('#DescriptionDialog').hide();
}
}
});
}
出于某种原因,当我选择确定时,警告显示&#34; OK&#34;出现,然后无论我在输入字段中输入什么,描述的警报总是空白的,或者如果我在html中设置了一个值那么就是那个。
有什么想法吗?
答案 0 :(得分:1)
你确定你没有其他输入ID&#34; StateDescription&#34;?因为你的代码非常好,当我尝试在&#34; OK&#34;之后在jsfiddle上运行它。 alert我可以看到输入的值:
请在此处查看:http://jsfiddle.net/paqrL/
这个好人啊!
var description = $('#StateDescription').val();
alert(description);