2014-04-11 85 views
0

我製作了一個表格,當頁面打開時我需要自動提交表格。 我已經試過這個JavaScript代碼,但它做了什麼創建一個循環,表單提交無限時間沒有停止。我需要在打開頁面時只提交一次表單的代碼。請給我一個建議。僅自動提交一次表格

<form id="form" action="form.php" method="POST" > 
    <select id="main" name="main"> 
    <option value="1" <?php if (@$_POST['main']=='1') {echo "selected='selected'"; } ?>>One</option> 
    <option value="2" <?php if (@$_POST['main']=='2') {echo "selected='selected'"; } ?>>Two</option> 
    </select> 
</form> 

<script> 
    document.getElementById("form").submit(); 
</script> 
+0

使用cookie存儲值並在下次檢查時 –

+0

在發送表單後,U在加載過程中再次發送這個... –

回答

0

如果窗體之前與POST超全局

<form id="form" action="form.php" method="POST" > 
    <select id="main" name="main"> 
    <option value="1" <?php if (@$_POST['main']=='1') {echo "selected='selected'"; } ?>>One</option> 
    <option value="2" <?php if (@$_POST['main']=='2') {echo "selected='selected'"; } ?>>Two</option> 
    </select> 
</form> 

<?php 
    if (! isset($_POST['main'])) { // not submitted yet 
?> 
    <script> 
     document.getElementById("form").submit(); 
    </script> 
<?php 
    } 
?> 
+0

第一次頁面加載'$ _POST ['main']'沒有設置,所以它自動提交表單,重新加載頁面,但那麼'$ _POST ['main']'將被設置,所以它不會永久循環,就像其他答案一樣,這就是問題所在。使用onload處理程序完全沒有區別。 – adeneo

1

嘗試調用的文件的onload:

function submitForm() 
{ 
    document.getElementById("form").submit(); 
} 
window.onload=submitForm; 

由於只調用一次,當頁面載入中,所以它會調用一次頁面的onload。直到您再次通過代碼或使用瀏覽器刷新重新加載頁面。

0

你可以嘗試提交onload event in body tag您可以檢查..

<body onload="submitForm();">

和你之類的函數

<script> 
function submitForm() 
{ 
    document.getElementById("form").submit(); 
} 
</script> 
1

下面是submi的java腳本牛逼的形式自動 你必須閱讀類錯誤

$("td.error").each(function() { 
    // 'this' is now the raw td DOM element 
    var txt = $(this).html(); 
    n=txt.length; 
}); 
if(n!=0) 
    { 
     alert(n) 
    } 
    if(n==0) 
    { 

     document.forms["login"].submit(); 
    } 

我的HTML文件的TD值之後,從http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js

導入jquery.min.js包含類似的代碼

<td colspan="2" class="error"><br/><i18n:text><xsl:value-of select="$message"/></i18n:text></td> 
0

使用這樣的:

<body onload = "if (location.search.length < 1){ document.getElementById('form').submit()}">