点击带有javascript的提交按钮

时间:2015-02-03 08:36:05

标签: javascript php jquery forms

我有以下脚本:

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但它不起作用,因为动作发生在隐藏值可以发送之前。任何想法?

2 个答案:

答案 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>
         ";
}

?>