私はMOUSE CLICKとENTERでフォームを送信しています。 Ajaxのコールがチェックされマウスをクリックしてボタンを入力してください。
は、ユーザーがフォームを送信することができない場合、私はすでにデータベースに...それ以外のボタンをSUBMIT任意の指定が無効になりますです
jQueryの
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
<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が機能しない
いいえ、まず関数を呼び出して、次にfalseのように返します。 'onsubmit =" formSubmit(); false false; "を返します。私の答えに示されているように、控えめにサブミットすることもできます。 –
詳細な回答ありがとうございます.. –