php
  • javascript
  • jquery
  • 2012-12-28 103 views 0 likes 
    0

    我編寫了一個數組來將GET中的變量傳遞給搜索頁面。搜索頁面只有4個字段,但我只傳遞最重要的變量,名字和最後一個。這裏是數組:使用javascript/jquery在頁面加載時提交表單

    <?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"> 
    

    與無濟於事。

    回答

    3

    您的<script><form>存在之前正在運行。

    <script>移動到<form>以下。

    +0

    該死的笨蛋noob錯誤!我把它搬下來,它工作得很好! – Supplement

    +0

    非常感謝! – Supplement

    1

    在表單甚至在頁面上加載之前,您正在調用submit函數。

    將腳本標記放置在文檔就緒或窗口打開時關閉窗體標記或調用提交之後。

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

    <script>$(function(){$('#stack').submit();})</script> 
    
    +0

    我試圖 – Supplement

    0

    試試這個,一直在使用這一段時間重定向頁面上。這當然需要低於該值,以便在瀏覽器處理表單後運行。

    ​​
    +0

    這不會有什麼區別。 – SLaks

    +0

    爲什麼要聲明一個剛剛被調用的函數呢?這個單行將做同樣的事情,並且更簡單:'document.getElementById(「theForm」)。submit()' –

    +0

    如果需要的話,可以使用函數來調用它,例如,我有一個錨如果你的瀏覽器沒有重定向,請點擊這裏。 –

    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  
        });  
    
    }); 
    

    this page更多信息使用AJAX

    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解決方案嗎?

    相關問題