onpaste没有发送粘贴的价值

时间:2015-09-17 14:24:50

标签: javascript jquery html

我创建了一个输入字段并使用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>

enter image description here

1 个答案:

答案 0 :(得分:1)

问题是您在使用粘贴的内容更新输入值之前触发表单。

您可以做的是在onpaste事件执行后执行一个函数。

为此,您可以使用setTimeoutonpaste

之后立即执行下一叠执行的触发器
function myFunction() {
    setTimeout(function(){
        $("#MyForm").trigger('submit');
    }, 0 );
}