Javascript表单提交失败

时间:2012-01-19 10:51:45

标签: javascript

我的网站上的代码无效,我无法找出原因......

以下是代码:

if (self.location.href == top.location.href) {
     document.fastform.submit();
 document.getElementById(fastform).submit();
}

现在如果我把一个表单提交以外的东西放到if语句中,它就可以了。就在我提交表单提交代码时,它永远不会起作用......

以下是表单代码:

<form id="fastform" name="fastform" ACTION="/amember.php">
<INPUT TYPE="text" NAME="myurl" ID="myurl">
<input type="submit" /> 
</form> 

感谢帮助人员!

到目前为止,没有任何建议有效,我尝试了几种不同的变体,比如在getelementbyid中围绕fastform引用引号。这是我的整个javascript程序:

<script type="text/javascript">

function geturl() {
var locate = document.location
document.fastform.myurl.value = locate
}
window.onload = geturl; 

if (self.location.href == top.location.href) {
var f=document.forms.fastform; f.submit();
}

</script>

感谢您的建议!

好的,所以在这里使用一些建议的代码我得到了它的工作。问题是if语句没有在正确的时间执行,我移动了一些东西,以便if语句最后执行,一切都开始工作了。这是完整的(正常运行的)代码:

<script type="text/javascript">

function geturl() {
var locate = document.location
document.fastform.myurl.value = locate
getmeoutofhere()
}
window.onload = geturl;

function getmeoutofhere() {
   if (self.location.href == top.location.href) {
   document.getElementById('fastform').submit();
   }
}
</script>
<form id="fastform" name="fastform" ACTION="/amember.php" style="visibility:hidden;">
<INPUT  TYPE="text" NAME="myurl" ID="myurl" />
<input type="submit" /> 
</form> 

3 个答案:

答案 0 :(得分:0)

document.getElementById('fastform').submit();

OR

var frm = document.getElementById('fastform');
frm.submit();

答案 1 :(得分:0)

我不确定它是否是 问题,但该行确实存在一个问题:

document.getElementById(fastform).submit();

我认为,问题在于您尝试按id获取元素,但getElementById()需要带引号的字符串,除非您已将字符串分配给表示的变量按fastform。因此它应该是:

document.getElementById('fastform').submit();

var fastform = 'fastform';
document.getElementById(fastform).submit();

此外,在fastform语句中包含的第一行中,您似乎尝试使用if变量,之后似乎已设置。< / p>

document.fastform.submit();

我建议稍微修改你的脚本,如:

if (self.location.href == top.location.href) {
     var fastform = document.getElementById('fastform');
     fastform.submit();
}

参考文献:

答案 2 :(得分:0)

您可以在函数中使用它:

var f = document.forms.fastform; f.submit();

它完全正常