无法获得html输入字段的值

时间:2014-03-27 15:55:31

标签: javascript jquery html

我有一个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中设置了一个值那么就是那个。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

你确定你没有其他输入ID&#34; StateDescription&#34;?因为你的代码非常好,当我尝试在&#34; OK&#34;之后在jsfiddle上运行它。 alert我可以看到输入的值:

请在此处查看:http://jsfiddle.net/paqrL/

这个好人啊!

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