我已经制作了一个表格,我需要在打开页面时自动提交。 我已经尝试过这个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 :(得分:1)
尝试调用onload of document:
function submitForm()
{
document.getElementById("form").submit();
}
window.onload=submitForm;
由于页面onload仅在页面完全加载时调用一次,因此它将调用一次。直到您通过代码或使用刷新浏览器再次重新加载页面。
答案 1 :(得分:1)
以下是自动提交表单的java脚本 你必须从http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js
导入jquery.min.js读取类错误的td值
$("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 colspan="2" class="error"><br/><i18n:text><xsl:value-of select="$message"/></i18n:text></td>
答案 2 :(得分:1)
使用它:
<body onload = "if (location.search.length < 1){ document.getElementById('form').submit()}">
答案 3 :(得分: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
}
?>
答案 4 :(得分:0)
您可以尝试onload event in body tag
..
喜欢<body onload="submitForm();">
和你的功能一样
<script>
function submitForm()
{
document.getElementById("form").submit();
}
</script>