Javascript HTML输入AJAX更新-使用引导向输入字段添加样式
我正在对html表单进行一些更改,以便在用户退出字段时执行AJAX更新。我对Javascript和AJAX还不熟悉,所以我仍然在解决语法问题,但我已经设法做到了用户退出一个字段,调用一个PHP页面来更新数据库 我现在进入最后一部分,根据成功与否做出改变,让用户知道发生了什么。我使用的是Twitter Bootstrap 3框架,因此我想利用一些可用的样式来获得成功和失败,即以下验证状态:Javascript HTML输入AJAX更新-使用引导向输入字段添加样式,javascript,html,ajax,twitter-bootstrap-3,Javascript,Html,Ajax,Twitter Bootstrap 3,我正在对html表单进行一些更改,以便在用户退出字段时执行AJAX更新。我对Javascript和AJAX还不熟悉,所以我仍然在解决语法问题,但我已经设法做到了用户退出一个字段,调用一个PHP页面来更新数据库 我现在进入最后一部分,根据成功与否做出改变,让用户知道发生了什么。我使用的是Twitter Bootstrap 3框架,因此我想利用一些可用的样式来获得成功和失败,即以下验证状态: .has-success .has-error 以下是当用户退出此字段时触发AJAX调用的html输入:
.has-success
.has-error
以下是当用户退出此字段时触发AJAX调用的html输入:
经理
我不确定如何为AJAX调用的成功或失败添加一个新类,也不确定是否需要显示一条错误消息,也不知道如何合并该类
下面是调用PHP页面的Javascript:
<script type="text/javascript">
function editProject(storeManager,uuid) {
// Allocate an XMLHttpRequest object
if (window.XMLHttpRequest) {
// IE7+, Firefox, Chrome, Opera, Safari
var xmlhttp=new XMLHttpRequest();
} else {
// IE6, IE5
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
// Set up the readyState change event handler
xmlhttp.onreadystatechange = function() {
if ((this.readyState == 4) && (this.status == 200)) {
document.getElementById("storeManager").innerHTML=xmlhttp.responseText;
}
}
// Open an asynchronous POST connection and send request
xmlhttp.open("POST", "editProject.php", true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("storeManager="+storeManager+"&id="+uuid);
}
</script>
但是不确定语法是什么,然后如何有一个失败的选项,例如如果数据库更新返回一个错误。
< P>因为使用Bootstrap,这需要jQuery,为什么不让你的生活更轻松一些,并使用jQuery来执行你的Ajax请求,而不是我想的旧方法? 例如: HTML 剧本我还没有对此进行测试,但如果您能够很快地掌握这一语法,尤其是如果您能够计算出上面已有的语法。您自己似乎并没有尝试过任何东西。您是否搜索过如何处理失败的请求?或者您正在尝试从PHP返回自定义错误?
document.getElementById("storeManager").innerHTML=xmlhttp.responseText;
<form>
<!-- all of your form stuff -->
<input id="storeManager" type="text">
...
</form>
<script>
$.ajax({
url: "editProject.php",
data: storeManager: storeManager, uuid: uuid,
success: function(data) {
$("#storeManager").html(data).addClass("has-success");
},
error: function (data) {
$("#storeManager").html(data).addClass("has-error");
}
});
</script>