Ajax / Javascript删除确认没有对话框的文本

时间:2016-07-16 22:53:48

标签: javascript jquery ajax

我到处搜索,但似乎无法找到任何我想要实现的例子。

我有一个删除按钮,当您按下按钮时,我希望文本显示在屏幕上,而不会刷新页面,如果用户想要删除他们的消息,则要求用户使用是/否超链接(不是按钮)。我严格地不想使用模态或对话框,我只想在屏幕上显示文字。

我在ajax页面上尝试了以下脚本,但并没有完全符合我的要求:



function loadDoc() {
  var xhttp;
  if (window.XMLHttpRequest) {
    // code for modern browsers
    xhttp = new XMLHttpRequest();
  } else {
    // code for IE6, IE5
    xhttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
  xhttp.onreadystatechange = function() {
    if (xhttp.readyState == 4 && xhttp.status == 200) {
      document.getElementById("demo").innerHTML = xhttp.responseText;
    }
  };
  xhttp.open("GET", "ajax_info.txt", true);
  xhttp.send();
}

<p id="demo">Let AJAX change this text.</p>

<button type='submit' name='btn-delete' id='btn-delete' onclick='loadDoc()'>Delete</button>
&#13;
&#13;
&#13;

当我的按钮设置为提交时,我知道在向用户要求删除确认之前将其发布到下一页。

任何帮助都将不胜感激。

提前致谢。

1 个答案:

答案 0 :(得分:1)

WORKING JSFIDDLE

您基本上需要首先将标记包装在容器<div>中,以便在创建时附加您的确认<a>标记。

<div id="container">
  <p id="demo">Let AJAX change this text.</p>
</div>

然后创建确认<a>代码并将其附加到容器<div>

var node = document.createElement("a");
var textnode = document.createTextNode("Yes");
node.appendChild(textnode);
node.id = 'confirm-delete';
node.href = 'javascript:void(0)';
document.getElementById("container").appendChild(node);

然后在用户点击新创建的<a>代码时触发请求。

document.getElementById('confirm-delete').onclick = function confirmation() {
  // ...
}