我有以下脚本:
if( condition ){
echo '<form action="url" name="myForm" method="post">';
echo '<input type="hidden" name="val" value="yes">';
echo '<input type="submit" name="Ok" value="Ok">';
echo '</form>';
}
当条件满足时,将显示提交按钮,我希望用javascript点击它,因此表单将被提交,我可以使用动作网址页面上隐藏的帖子值。“< / p>
我尝试为提交按钮添加一个id,然后使用click();但是没有工作。我也尝试创建一个函数并使用this.form.submit但它不起作用,因为动作发生在隐藏值可以发送之前。任何想法?
答案 0 :(得分:2)
所以问题是提交时你没有得到隐藏的字段
检查fiddle。我刚刚更改了帖子请求,以便查看参数是否通过,您可以稍后更改
将表单ID设置为myForm
,将按钮ID设置为ok
$(document).ready(function () {
if ($("#myForm").length) {
$("#ok").trigger('click');
var url = window.location.href;
console.log(url);
}
});
我正在做的是在控制台上打印网址。所以转到浏览器控制台查看网址,我收到参数为url?val=yes&Ok=Ok
的网址
答案 1 :(得分:1)
试试这个可行。
首先在提交按钮中添加ID
echo '<input type="submit" id="submit" name="Ok" value="Ok">';
然后你可以在这里使用触发器,如下面的代码
$('#submit').trigger(submit);
复制下面这个对我有用的代码
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<?php
$con=4;
if( $con==4 ){
echo '<form name="myForm">';
echo '<input class="a" type="hidden" name="val" value="yes">';
echo '<input id="submit" type="submit" name="Ok" value="Ok">';
echo '</form>';
echo "<script>
jQuery('form').submit(function(e){
e.preventDefault();
var data=$('.a').val();
$.post(
'page2.php',
{value:data},
function(data){
alert(data);
}
);
});
jQuery('form').trigger('submit');
</script>
";
}
?>