0

当没有文本/空格时,我正在尝试弹出块。它在 Firefox、Chrome 和 Safari 中运行良好。

请检查我的 JavaScript 文件中的以下代码:

function submitQuestion(URL,docId,errorMessage)
{
var question = $('textField').value;
if(!question.blank())
{
var submitForm = $("question-form");
submitForm.action = URL+"docId="+docId+"&question="+encodeURIComponent(question);
//alert(submitForm.action);
submitForm.submit();
}
else
{
alert(errorMessage);
return false;
}
}

上述功能在 Firefox、Safari 和 Chrome 中运行良好,因为当文本框中没有任何内容(即空/空白)时,它会转到 else &prompt errorMessage 作为弹出窗口,但在 IE 中,它不会转到 else &errorMessage 弹出窗口从不来。

请检查以下代码以获取我的 forntend 表单-:

<form method="POST" id="question-form" onsubmit="return submitQuestion('https://localhost/question-post!input.jspa?','ABC12','Enter your question!');">
                <span class="fieldwrap">
                    <input type="text" placeholder="Ask customers about this document" value="" maxlength="255" autocomplete="off" class="questionInputField" id="textField">
                </span>
                <div class="clear"></div>
                <div id="question-submit" class="widget-div clearfix">
                    <input type="submit" value="Submit question to the portal" class="questionSubmitFormButton">

                    </div>
                </div>  

            </form>

在 IE 中发生的情况是,当我们没有提供任何内容时,它将占位符作为文本字段的值,即当我们将文本字段保持为空或空白时,它将占位符作为文本字段值&而不是提供弹出警报,它转到 if 循环,这不应该是一种情况。

4

1 回答 1

0

要使用 jQuery 访问 textField 的值,您应该使用 val() 而不是 value。

var question = $('textField').val();
if (question != '') {
 //
}
else {
 //
}

下面是一个工作示例:

<!DOCTYPE html>
<head>
    <title>EXAMPLE</title>
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script>
        function submitQuestion(URL, docId, errorMessage) {
            var question = $('#textField').val();
            if (question.trim() != "") {
                var submitForm = $("#question-form");
                submitForm.attr("action", URL + "docId=" + docId + "&question=" + encodeURIComponent(question));
                return true;
            }
            else {
                alert(errorMessage);
                return false;
            }
        }
    </script>
</head>
<body>
    <form method="POST" id="question-form" onsubmit="return submitQuestion('https://localhost/question-post!input.jspa?','ABC12','Enter your question!');">
        <span class="fieldwrap">
            <input type="text" placeholder="Ask customers about this document" value="" maxlength="255" autocomplete="off" class="questionInputField" id="textField">
        </span>
        <div class="clear"></div>
        <div id="question-submit" class="widget-div clearfix">
            <input type="submit" value="Submit question to the portal" class="questionSubmitFormButton">
        </div>
    </form>
</body>
于 2013-04-17T05:13:54.197 回答