0

我编写了一个数组来将 GET 中的变量传递给搜索页面。搜索页面只有 4 个字段,但我只传递了最重要的变量,名字和姓氏。这是数组:

<?php echo "<td><a href='" . matry::base_to('test/trace', array('first'=>$patient->first , 'last' =>$patient->last)) . "'><ul class='controls'>
                    <li id='check_orders'><`span class='symbols'>L</span><span class='label'>Skip Trace</span></li>

                </ul></a></td>";?>

当页面加载时,我只是回显 _GET 以预填充该页面上的第一个和最后一个输入字段..

我正在寻找的是一个脚本,它将执行搜索,并在该页面自动加载时填充名字和姓氏字段。此外,执行搜索时,它会填充到 iframe 中。(忘记那部分了)~!

我尝试使用:

<script>document.getElementById('stack').submit();</script>

 <form action='http://xxxx.yyyyyyy.com/stuffhere' name='es' target="my_iframe" id="stack">

无济于事。

4

5 回答 5

3

<script>在存在之前运行<form>

移动<script>下面的<form>.

于 2012-12-28T17:51:16.427 回答
1

您甚至在表单加载到页面上之前调用了提交函数。

将脚本标签放在关闭表单标签之后,或者在文档准备好或窗口加载时调用提交。

<form id-"stack">
  ... form fields...
</form>
<script>document.getElementById('stack').submit();</script>

或者

<script>$(function(){$('#stack').submit();})</script>
于 2012-12-28T17:49:42.660 回答
0

试试这个,在重定向页面上使用了一段时间。这当然需要在 from 之下,以便在浏览器处理表单后运行。

<script type="text/javascript">
    function send(o)
    {
        var f = document.getElementById("theForm");
        f.submit();
    }
    send();
</script>
于 2012-12-28T17:50:19.723 回答
0

如果您想在页面加载时提交表单,您应该将代码更改为:

<script>window.onload = function(){ document.getElementById('stack').submit(); }</script>

但是,这将重定向用户(就像他们单击了表单提交按钮一样)。为避免这种情况,您需要使用 AJAX(我建议使用 jQuery 来执行此操作)。请参见下面的示例:

 $(document).ready(function(e) {

    var form_data = $("#form_id").serialize();
    var form_url = $("#form_id").attr("action");
    var form_method = $("#form_id").attr("method").toUpperCase();

    $.ajax({
        url: form_url, 
        type: form_method,      
        data: form_data,     
        cache: false       
    });    

 });

有关使用 AJAX 的更多信息,请参阅此页面

于 2012-12-28T17:51:21.910 回答
0

请想象这个简单的例子:

<html>
  <head>
    <script type="text/javascript">
        function body_onload() {
            var form = document.getElementById('theform');
            form.submit();
        }
    </script>
  </head>
  <body onload="body_onload()">
    <form id="theform" action="action.php">
        <input type="hidden" name="query" id="query" value="foo" />
    </form>
  </body>
</html>

它将在页面加载后提交表单。

但是您真的在寻找非 AJAX 解决方案吗?

于 2012-12-28T17:52:36.147 回答