使用onclick事件

时间:2016-01-15 22:42:57

标签: javascript forms events post onclick

有一个页面显示一个按钮,需要用户操作才能执行某些事件处理程序。

页面处理一些变量并处理值:

$returnstring .= '<form action="" method="post">';
$returnstring .= '<input type="hidden" name="cost" value='.$cost.' />';
$returnstring .= '<input type="hidden" name="page" value='.$pageid.' />';
$confirm_purchase = esc_attr(get_option('my_confirm_purchase'));
$returnstring .= '<input type="submit" name="submit" value="Purchase"  onclick="return confirm(\''.$confirm_purchase.'\')" />';
$returnstring .= '</form>';

我需要自动处理此表单。我尝试window.onload并通过引用表单ID自动提交,但它不起作用。

该页面将自动提交表单,我也需要自动更改onclick事件。

有什么方法可以解决这个问题吗? 如何在不使用表单的情况下更改结构?

2 个答案:

答案 0 :(得分:0)

也许你可以使用JQuery并试试这个:

$('<form method="post"><input id="test" value="3"></form>').submit();

将$ returnstring封装到此:

$finalstring = "$(".$returnstring.").submit();"

这个渲染的javascript必须在DOM准备好后执行:

$(document).ready(function(){
    //YOUR CODE
});

.submit()会在执行时自动提交HTML表单。测试它是否有效,我只是在一些较旧的Intranet应用程序中使用它并且它有效。

答案 1 :(得分:0)

您可以在表单中添加ID并使用原生javascript进行提交。 这里重要的是改变名称&#34;提交输入的属性。 警告:你的动作是&#34;&#34;,假设你的动作是自我的,所以,每当onLoadEvent提交表单时,事件将再次触发。只需要将操作更改为&#34;确认&#34;页。

<html>
<head>
    <script type="text/javascript">
        function autoSubmit(){
            document.getElementById("myForm").submit();
        };
    </script>

</head>
<body onload="autoSubmit()">

    <form action="" method="post" id="myForm">
        <input type="hidden" name="cost" value='2500' />
        <input type="hidden" name="page" value='1001' />
        <input type="submit" name="" value="Purchase"  onclick="return confirm('1')" />
    </form>
</body>
</html>