赢得';如果我更改输入类型,就不会运行ajax.


Won't run ajax if I change input type..?

我有一个表单,供用户使用jquery+Ajax更新信息。到目前为止,一切都很好,但我在表单的全名部分将inputtype="email"更改为inputtype="text",然后单击更新。它出错了???它不会在ajax中运行php文件。我看不到任何导致此错误的连接?有人问客人为什么?但如果我将全名部分的输入类型改回"电子邮件"。它有效!这太奇怪了!

这是我的表格:

 <div id="changeuserinfo_result"></div>
    <form role="form" method="post">
                <div class="form-group">
                <label>Fullname</label>
                <input type="text" class="form-control" id="changename" name="changename" value="<?php echo $_SESSION['name'] ?>">
                </div>
                <div class="form-group">
                <label>Password</label>
                <input type="password" class="form-control" id="changepass" name="changepass" value="<?php echo $_SESSION['pass'] ?>">
                </div>
                <button class="btn btn-default" id="changeuserinfo">Update</button>
                </form>

这是我的jquery代码:

$(document).ready(function(){
$('#changename').focus();  
$('#changeuserinfo').click(function(){ 
    var changename = $('#changename');  
    var changepass = $('#changepass');
    var changeuserinfo_result = $('#changeuserinfo_result'); 
    changeuserinfo_result.html('loading...');
    if(changename.val() == ''){ 
        changename.focus();
        changeuserinfo_result.html('<span class="errorss"> * Empty fullname</span>');
        return false;
    }
    else if(changepass.val() == ''){ 
        changepass.focus();
        changeuserinfo_result.html('<span class="errorss">* Empty password</span>');
        return false;
    }
    else {
        var UrlToPass = {changename:changename.val(),changepass:changepass.val()} ;
        $.ajax({ 
        type : 'POST',
        cache: false,
        data : UrlToPass,
        url  : 'changeuserinfo.php',
            success: function(responseText){ 
                if(responseText == 1){
                    $('#changeuserinfo_result').html('<span style="color:green"> Update OK</span>');
                }
                else{
                    $('#changeuserinfo_result').html('<span class="errorss"> Update fail. Try again</span>');
                }
            }
        });
    }
});
});

您的输入上没有结束标记。

应该是<input type="text"... />

同时将页面的doctype设置为HTML5。

<!DOCTYPE HTML>
....
</html>