MOUSE CLICK と ENTER からもフォームを送信しています。
Ajax呼び出しは、私がすでにデータベースにある指定があるかどうかをチェックしています。そうでない場合、ユーザーはフォームを送信できます。そうでない場合、送信ボタンは無効になります
Jクエリ
function check_designation(e){
text = $('#req1').val();
data = "data=" + text;
text_length = text.length
if(text_length == 0)
{
$('#result_span').html('');
}
if(text_length > 3 ){
$.ajax({
url: "designation_ajax.php",
type: "POST",
data: data,
cache: false,
success: function (response) {
if ($.trim(response) == "access") {
$("#result_span").html('<div class="green">' + text + ' is available '+'</div>');
$('#create_desg').removeAttr('disabled');
}
else if ($.trim(response) == "no access") {
$("#result_span").html('<div class="red">' + text + ' is already in use'+'</div>');
$('#create_desg').attr('disabled','disabled');
}
else {
alert('Sorry, unexpected error. Please try again later.');
}
}
});
}
else{
$("#result_span").html('');
}
return true;
}
HTMLフォーム
<form id="formID" class="formular" method="POST" action="" onsubmit="formSubmit()" >
<fieldset>
<legend>Create Desination</legend>
<label> Designation<br clear="all" />
<input autocomplete="off" onkeyup="check_designation(event)" value="" class="validate[required,minSize[4]] text-input float_left" type="text" name="name" id="req1" />
<span id="result_span"></span>
</label>
<br clear="all" />
<input id="create_desg" value="Submit" type="button" />
</fieldset>
</form>
問題::::
今何が起こるか DISABLE ボタンは解決策ではありません...テーブルにすでに DESIGNATION がある場合..送信ボタンは無効になりますが、ENTER によって送信され、ページをリロードしたくありません。ENTERを押すとAJAXが機能しません