无法获取html输入字段的值

Failing to get value of an html input field

本文关键字:字段 输入 html 获取      更新时间:2023-09-26

我有一个html对话框窗口,有一个简单的输入框,和两个按钮(OK和Cancel)。

将提示用户在输入字段中输入文本,然后选择OK,然后我想获取输入(type text)字段的内容并使用它。然而,我似乎不能得到输入字段的内容。

下面是我的代码:

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();
            }
        }
    });
}

由于某些原因,当我选择OK时,警告显示"OK"出现,然后无论我在输入字段中输入了什么,描述的警告总是空白的,或者如果我在html中设置了一个值,那么它就是。

任何想法?

您确定没有另一个Id为"StateDescription"的输入吗?因为你的代码非常好,当我尝试在jsfiddle上运行这个"OK"警报后,我可以看到输入的值:

看这里:http://jsfiddle.net/paqrL/

这很好,伙计!

            var description = $('#StateDescription').val();
            alert(description);