表单“提交”在IE中工作,但不是FF和Chrome

时间:2012-08-14 15:00:38

标签: javascript javascript-events

我的网站上有一个注册表单在IE中正常工作,但在FF或Chrome中无效。我试过通过其他论坛帖子查找类似问题,但仍然无法理解这个愚蠢的问题。 (我不是代码编写者。)

这是代码

引用

<script type="text/JavaScript">
function validate_form(){
{validation_text}
else{
        return true;
    }
}
var str_vars = '';
function all_fields(){
    str_vars = '';
    el = document.form1;
    for (var i = 0; i < el.elements.length; i++) {
        if (el.elements[i].value != '')
        str_vars += el.elements[i].name+'='+el.elements[i].value+'&';
    }
    str_vars = str_vars.substr(0,str_vars.length-15);;
}
</script>
<div id="div_form" name="div_form">
<form id="form1" name="formx" method="{send_method}" action="{form_switch}">
<p>&nbsp;</p>
<table border="0" width="100%" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
{error}
{signup_list}
<tr>
    <td align="right">{description_country} &nbsp;</td>
    <td>{shiping_country_list}{required_country}</td>
  </tr>
<tr><td align="right"> {promo}</td></tr>
 {code_signup}
  <tr>
    <td colspan="2"><div align="center">
      <input name="terms" id="terms" value="1" type="checkbox">
      <label for="terms">I accept the <a href="terms.php" target="_blank">terms &amp; conditions</a></label>
    </div></td>
    </tr>
     <tr>
    <td colspan="2"><div align="center">
{captcha}</td>
    </tr>
    {arp_fields}
  <tr>
    <td><div align="right">*</div><br></td>
    <td width="332">Denotes required</td>
  </tr>
  <tr>
    <td>
      <div align="right">
 <input name="Submit" value="Submit" type="button" onclick="{request}{request_email}{form2items}">
        </div></td>
    <td> <br></td>
  </tr>
</table>
</form>

endquote

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

也许不是

el = document.form1;

 el = document.getElementById('form1');

我无法看到所有的JS,因此很难猜到,但另一件事要尝试将提交按钮的名称从name="Submit"更改为其他内容,例如name="submitForm" 。如果在脚本的某处调用form.submit(),则可能会导致问题。

您的验证功能应如下所示:

function validate_form(){
var form = document.getElementById('form1');
err = 'The following fields are not correct filled:\n';

if (form.first_name.value == ''){
    err += 'No First Name.\n';
}

if (emailCheck(form.email.value) == false){
    err += 'No Valid email.\n';
}

if (form.terms.checked != true){                
    err += 'You did not agree with the terms.\n';
}

if (err != 'The following fields are not correct filled:\n'){
    alert (err);
    return false;
}

else{
        return true;
    }
}

最后,将提交按钮更改为:     <input name="Submit" value="Submit" type="button" onclick="if (validate_form()) document.getElementById('form1').submit();">