Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript没有';t在每次操作后清除提交的值_Javascript - Fatal编程技术网

Javascript没有';t在每次操作后清除提交的值

Javascript没有';t在每次操作后清除提交的值,javascript,Javascript,我有这样一个简单的表: <td> <span class='foo' onclick='insertComment(this)' data-id='1' </span> </td> <td> <span class='foo' onclick='insertComment(this)' data-id='2' </span> </td> <td> <span class='foo' onclic

我有这样一个简单的表:

<td> <span class='foo' onclick='insertComment(this)' data-id='1' </span> </td>
<td> <span class='foo' onclick='insertComment(this)' data-id='2' </span> </td>
<td> <span class='foo' onclick='insertComment(this)' data-id='3' </span> </td>
问题是,当我点击一个模态打开的行时,我将数据插入模态,值被提交到我的数据库中。这可以按预期工作,但只有在每次提交后刷新页面时,我才会这样做

但是,如果我一直单击这三行并插入值,那么第二次和第三次单击将包含多个值

以下是我第一次提交时
dataString
包含的内容

// id=1&input=something
再次点击

// id=1&input=something
// id=2&input=something
第三次点击

// id=1&input=something
// id=2&input=something
// id=3&input=something

所有这些都只是一次又一次的点击,js应该一次只发送一个post请求,但在第一次点击之后,似乎所有内容都存储在某个地方

我建议您使用下一个解决方案:

success: function(response){
  window.reload()
}
它将在每次单击后重新加载您的页面。

为了获得更好的用户体验,请使按钮处于非活动状态,单击后,它有助于减少意外的多点单击和数据发送。希望有帮助

您需要在
onclick
函数中获取输入值。在用户有机会在输入字段中输入任何内容之前,您正在设置
input
。我不确定这为什么会导致参数累积,我怀疑这是在您尚未显示的代码中

我还建议对
$.ajax
数据
参数使用对象而不是字符串。然后jQuery将对其进行正确编码

函数插入命令(div){
//获取数据id
变量id=$(div.data('id');
//开放模态
$(div).attr(“数据切换”、“模式”)
$(div).attr(“数据目标”,“报价模式-”+类型);
//从modal获取输入值
var input=document.getElementById(“用户名输入”);
//检查是否单击了在模式上提交btn
var btn=document.querySelector('.submit btn');
btn.onclick=函数(){
变量数据字符串={
id:id,
输入:input.value
};
//发送ajax帖子
jQuery.ajax({
类型:“POST”,
url:“http://example.com/ajax.php",
数据:dataString,
成功:功能(响应){
}
})
}

}
我看不到任何将旧值附加到数据字符串的内容。我认为问题出在您没有显示的代码中,比如
success:
函数。
success:
只返回结果,它们更像我显示的最后一个输出。在分配给
input
时,您需要使用
value
获取输入值应为'var dataString='id='+id+'&input='+input.value;是的,对不起,那是我的错。代码比这个大,所以我不得不在这里写这个,这没有帮助。页面未重新加载。
success: function(response){
  window.reload()
}