我有一个输入字段,通过 keyUp() 上的 AJAX 针对数据库进行验证。
如果输入的文本令人满意,则启用。
我还想在文本输入字段的提交时切换输入。
<div id="faq_dupe" class="center-modal">
<form id="faq_form" onsubmit="AJAXsendData(); hideModal('faq_dupe'); return false;">
<input id="faq_dupe_search" type="text" placeholder="e.g. 00AA1" class="noEnterSubmit"/>
<button id="faq_dupe_img" type="submit" disabled>
<img src="/img/val-no.png"/>
<div>Submit</div>
</button>
</form>
<script type="text/javascript">
$('.noEnterSubmit').keypress(function(e){
if ( e.which == 13 ) return false;
});
</script>
<script type="text/javascript">
$('#faq_dupe_search').keydown(function() {
var faqimg = '<img src="/img/load-a-40px.gif"/><div>Submit</div>';
document.getElementById('faq_dupe_img').innerHTML = faqimg;
});
</script>
<script type="text/javascript">
$('#faq_dupe_search').keyup(function() {
AJAXvalFAQid($('#faq_dupe_search').val());
});
</script>
</div>
我有 AJAXvalFAQid() 添加和删除 .noEnterSubmit 类。
从现在开始,无论是否应用 .noEnterSubmit 类,按 Enter 键都不会执行 onsubmit=""中的脚本。
这是我最终使用的:
<script type="text/javascript">
function onsubmit(event) {
if(noEnterSubmit === true){
event.preventDefault();
}else{
sendData();
hideModal('faq_dupe');
return false;
}
}
</script>
最佳答案
只有一个提交功能会更容易。它可能看起来像这样:
function onsubmit(event) {
if (input_is_valid()) {
// all is well, let the event continue
} else {
event.preventDefault(); // block the submit
show_errors();
}
}
与
<form id="faq_form">..</form>
<script type="text/javascript">
$("#faq_form").submit(onsubmit);
</script>
关于javascript - 切换 "enter on submit",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14161274/