Php 如果我更改输入类型,将不会运行ajax。。?
我有一个表单供用户使用jquery+Ajax更新信息。到目前为止,一切都很好,但当我在表单的全名部分将输入类型=电子邮件更改为输入类型=文本并单击更新时。有错误吗???它不会在ajax中运行php文件。我没有看到导致此错误的任何连接?谁能告诉我为什么?但如果我把全名部分的输入类型改回电子邮件。它起作用了!这太奇怪了 这是我的表格:Php 如果我更改输入类型,将不会运行ajax。。?,php,jquery,ajax,forms,Php,Jquery,Ajax,Forms,我有一个表单供用户使用jquery+Ajax更新信息。到目前为止,一切都很好,但当我在表单的全名部分将输入类型=电子邮件更改为输入类型=文本并单击更新时。有错误吗???它不会在ajax中运行php文件。我没有看到导致此错误的任何连接?谁能告诉我为什么?但如果我把全名部分的输入类型改回电子邮件。它起作用了!这太奇怪了 这是我的表格: <div id="changeuserinfo_result"></div> <form role="form" method
<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>');
}
}
});
}
});
});
您的输入上没有结束标记 应该是 还将页面的doctype设置为HTML5
<!DOCTYPE HTML>
....
</html>
完成了结束标记,但仍然不起作用,我已将doctype正确设置为html5。结束标记与问题无关,在html5中不再需要。我将您的代码复制/粘贴到codepen,它工作得非常好。您是否检查过浏览器控制台以查看是否存在任何javascript错误?如果出现错误,它可能根本不会执行js的post部分。您遇到了什么错误?您是否尝试使用Ctrl F5刷新缓存?我尝试清除缓存和所有内容,但它不起作用。我试着用chrome和firefox进行测试,结果仍然一样。通过firebug测试,它只是快速显示+POST的红线http://..../changeuserinfo.php 然后消失。如果我将input type=text从全名更改为input type=email,那么我的代码工作正常。是否还有其他javascript函数在运行?人们可以超越使用文本类型输入的行为