keyUp() で AJAX を介してデータベースに対して検証される入力フィールドがあります。
入力したテキストに問題がなければ、a が有効になります。
テキスト入力フィールドの送信時に入力も切り替えたいと思います。
<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>
.noEnterSubmit クラスを追加および削除する AJAXvalFAQid() があります。
現時点では、.noEnterSubmit クラスが適用されているかどうかにかかわらず、Enter キーを押しても onsubmit="" のスクリプトは実行されません。
これが私が最終的に使用したものです:
<script type="text/javascript">
function onsubmit(event) {
if(noEnterSubmit === true){
event.preventDefault();
}else{
sendData();
hideModal('faq_dupe');
return false;
}
}
</script>