有一个页面显示一个按钮,需要用户操作才能执行某些事件处理程序。
页面处理一些变量并处理值:
$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
事件。
有什么方法可以解决这个问题吗? 如何在不使用表单的情况下更改结构?
答案 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>