【发布时间】:2016-11-02 11:39:25
【问题描述】:
对于一个项目,我正在使用数据库。用户应该能够创建条目,但在创建/编辑条目之前,必须检查某些事项。
我想要检查表单的输入字段是否为空,或者是否包含 9 个字符。我用以下代码做到了这一点:
$('#submit').on('click', function(event) {
var formData = new FormData($('#ref')[0]);
if ($("#ihcnummer").val() != '' && $("#ihcnummer").attr('value').length != 9) {
$('#alert').html('<span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span> IFS projectnumber should either be left blank, or be equal to the 9 character standard!').slideDown(10);
$("#ihcnummer").css('border', '1px solid red');
return;
}
});
涉及以下领域:
<td>
<input type="text" name="ihcnummer" id="ihcnummer" value="" class="form-control" placeholder="e.g. SP1234567">
</td>
这在 Chrome 中有效,但由于某种原因(我没有看到/理解)这在 IE 中不起作用。如果我输入例如SP1234567,Chrome 将接受这一点并更新数据库,但 IE 向我显示警报并且不会更新数据库。
如果我为此字段尝试不同的值,例如SP1234 它会按原样返回警告。
我试过.val(),也试过.attr('value')。
为什么 IE 和 Chrome 有区别?以及如何确保这在两种浏览器上都适用?
希望你能帮助我。
【问题讨论】:
-
尝试使用纯js document.getElementById("ihcnummer").value
标签: javascript jquery html google-chrome internet-explorer