【问题标题】:Submission of form does not work in jQuery提交表单在 jQuery 中不起作用
【发布时间】:2013-11-19 13:13:33
【问题描述】:

问题:

尝试自动生成表单并在没有用户干预的情况下提交。

完整代码:

<?php session_start(); ?>
<!DOCTYPE html>
<html lang="en">
    <head>
    <script type="text/javascript">
        $(document).ready(function()
        {        
            var url = 'test.php';
            var form = $('
                <form action="' + url + '" method="post">' +
                    '<input type="text" name="Datafile" value="' + <?php echo "upload/".$_SESSION['txtfile'].""; ?> + '">' +
                    '<input type="text" name="Perspective" value="' + <?php echo implode(" ", $_SESSION['dimensions']); ?> + '">' + 
                    '<input type="hidden" name="form_submitted" value="true">' +
                '</form>
            ');
            $('body').append(form);
            $(form).submit();
        });
    </script>
    </head>
    <body>

    </body>
</html>

在查看 implode() 参数错误的源代码时,它首先给了我一个错误。

所需的解决方案:

表单加载后应自行提交。

任何人都可以发现错误或为什么表单不提交自己?

【问题讨论】:

  • implode() 不喜欢的$_SESSION['dimensions'] 的值是多少?

标签: javascript php jquery forms


【解决方案1】:

既然您使用的是 jquery,为什么不直接通过 post 发送数据?

    $.post( "test.php", { name: "<?php echo "upload/".$_SESSION['txtfile']; ?>" , 
            Perspective: "<?php echo implode(" ", $_SESSION['dimensions']); ?>",
            form_submitted : "true"} );

【讨论】:

  • 您还确定会话确实存在吗?你能呼应尺寸吗?
【解决方案2】:

你可以试试这个,

    <?php session_start(); ?>
    <!DOCTYPE html>
    <html lang="en">
        <head>

        <script type="text/javascript">
                function AutoSubmit(){
                    document.my_form.submit();
                }

        </script>
         </head>
        <body onLoad="AutoSubmit();">
                    <form action="test.php" name="my_form" id="my_form"  method="post">
                        <input type="hidden" name="Datafile" value="<?php echo "upload/".$_SESSION['txtfile']; ?>">
                        <input type="hidden" name="Perspective" value="<?php echo implode(" ", $_SESSION['dimensions']); ?>">
                        <input type="hidden" name="form_submitted" value="true">
                    </form>
        </body>
    </html>

【讨论】:

    【解决方案3】:
    <?php session_start(); ?>
    <!DOCTYPE html>
    <html lang="en">
        <head>
        <script type="text/javascript">
           $(document).ready(function()
            {        
                var url = 'test.php';
                var form =
                    "<form action="+url+" method=\"post\"><input type=\"text\" name=\"Datafile\" value=\"<?php echo \"upload/\".$_SESSION[\'txtfile\'].\"; ?> \"><input type=\"text\" name=\"Perspective\" value=\" <?php echo implode(\" \", $_SESSION[\'dimensions\']); ?>\"><input type=\"hidden\" name=\"form_submitted\" value=\"true\"></form>";
    
                $('body').append(form);
                $(form).submit();
            });
        </script>
        </head>
        <body>
    
        </body>
    </html>
    

    【讨论】:

      【解决方案4】:

      您忘记在文档中加载 jQuery:

      <head>
      <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
      </head>
      

      【讨论】:

      • 这应该很常见,因为它只解决了部分问题,而不是整个问题
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-20
      • 2012-02-18
      相关资源
      最近更新 更多