Php 使用鼠标单击并输入按钮提交表单

Php 使用鼠标单击并输入按钮提交表单,php,jquery,ajax,Php,Jquery,Ajax,我提交表格通过鼠标点击和输入太 Ajax调用正在检查数据库中是否有我已经指定的名称。。如果没有,用户可以提交表单,否则提交按钮将禁用 JQUERY function check_designation(e){ text = $('#req1').val(); data = "data=" + text; text_length = text.length if(text_length == 0) {

我提交表格通过鼠标点击和输入太

Ajax调用正在检查数据库中是否有我已经指定的名称。。如果没有,用户可以提交表单,否则提交按钮将禁用

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;        
}
功能检查\u名称(e){
text=$('#req1').val();
data=“data=”+文本;
text_length=text.length
如果(文本长度==0)
{
$('#result_span').html('');
}       
如果(文本长度>3){
$.ajax({
url:“designation_ajax.php”,
类型:“POST”,
数据:数据,
cache:false,
成功:功能(响应){
如果($.trim(response)=“access”){
$(“#result_span”).html(“+text+”可用“+”);
$('create#u desg')。removeAttr('disabled');
}
如果($.trim(response)=“no access”){
$(“#result_span”).html(“+text+”已在使用“+”);
$('create#desg').attr('disabled','disabled');
}
否则{
警报('抱歉,出现意外错误。请稍后再试');
}
}      
}); 
}
否则{
$(“#结果_span”).html(“”);
}
返回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>

创造设计
名称

问题:::


现在发生什么禁用按钮不是一个解决方案。。。如果表格中已经有名称。。“提交”按钮将禁用,但按ENTER键,它将被提交,我不想重新加载页面。当我按ENTER键时,AJAX不起作用,您必须从Submit处理程序返回false才能取消默认操作。但我可能会稍微清理一下您的代码,然后悄悄地订阅submit事件:

<form id="formID" class="formular" method="POST" action="">
    <fieldset>
        <legend>Create Desination</legend>
        <label>
            Designation<br clear="all" />
            <input autocomplete="off" 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>

另外,我会让
designation\u ajax.php
脚本返回JSON,而不是在
success
回调中解析和修剪的一些
access
no-access
字符串。

必须从
onsubmit
处理程序返回false才能取消默认操作。但我可能会稍微清理一下您的代码,然后悄悄地订阅submit事件:

<form id="formID" class="formular" method="POST" action="">
    <fieldset>
        <legend>Create Desination</legend>
        <label>
            Designation<br clear="all" />
            <input autocomplete="off" 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>

另外,我将使用
designation\u ajax.php
脚本返回JSON,而不是在
success
回调中解析和修剪的
access
字符串。

否,首先调用函数,然后返回false,如下所示:
onsubmit=“formSubmit();return false;”
。或者如我的回答中所示,以不引人注目的方式订阅提交处理程序。不,首先调用函数,然后返回false,如下所示:
onsubmit=“formSubmit();return false;”
。或者如我的回答所示,悄悄地订阅提交处理程序。