我创建了一个输入字段并使用onpaste函数来触发表单提交。但它只提交当前输入字段中的数据(如果没有粘贴的数据)。
我需要发送粘贴的数据。有什么建议我做错了吗?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
</head>
<body>
<form action="textDataSubmittedGet/" method="get" id="MyForm">
Your Data: <input type="text" onpaste="myFunction()" name="textData"><br>
</form>
<script>
function myFunction() {
$("#MyForm").trigger('submit');
}
</script>
</body>
</html>
答案 0 :(得分:1)
问题是您在使用粘贴的内容更新输入值之前触发表单。
您可以做的是在onpaste
事件执行后执行一个函数。
为此,您可以使用setTimeout
在onpaste
function myFunction() {
setTimeout(function(){
$("#MyForm").trigger('submit');
}, 0 );
}