javascript - HTML 输入 AJAX 更新 - 使用 Bootstrap 将样式添加到输入字段

标签 javascript html ajax twitter-bootstrap-3

我正在对 html 表单进行一些更改,以便在用户退出字段时执行 AJAX 更新。我对 Javascript 和 AJAX 很陌生,所以仍在解决语法问题,但我已经设法达到用户退出字段并调用 PHP 页面来更新数据库的程度。

我现在进入最后一部分,根据成功或失败进行更改,让用户知道发生了什么。我正在使用 Twitter Bootstrap 3 框架,因此希望利用一些可用的成功和失败样式,即以下验证状态:

.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>

我认为这是我需要修改成功选项的行:

document.getElementById("storeManager").innerHTML=xmlhttp.responseText;

但不确定语法是什么,以及如何设置失败选项(例如,如果数据库更新返回错误)。

最佳答案

既然您使用的是需要 jQuery 的 Bootstrap,为什么不让自己的生活变得更轻松一点并使用 jQuery 来执行您的 Ajax 请求,而不是(我会考虑)旧的方式呢?

例如:

HTML

<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>

我还没有测试过这个,但是如果你have a look at some online examples您应该能够很快掌握此语法,特别是如果您能够计算出上面已有的内容。

关于javascript - HTML 输入 AJAX 更新 - 使用 Bootstrap 将样式添加到输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26489655/

相关文章:

javascript - Y 轴消失

javascript - HTML - 单击时带有 html 部分的新页面

asp.net - 如何持续更新div

制作 "live graph"的 PHP/AJAX 工具包(例如用于跟踪股票价格)

jQuery ajax() 调用偶尔会导致 XmlHttpRequest 响应状态为 0 的错误

javascript - 使用 Vanilla Javascript 的 Bootstrap 模态

javascript - 用另一个数组更新一个数组(删除和添加值)

javascript - 选择选项时更改变量值,不再选择时返回之前的值

html - 如何在 HTML 元素中绘制一个框?

html - 如何在 ionic 3 中显示视频列表