1

私のサイトにはサインアップ フォームがありますが、これは 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>

エンドクォート

任意の助けをいただければ幸いです。

4

1 に答える 1

1

多分代わりに

el = document.form1;

試す

 el = document.getElementById('form1');

すべての JS が表示されていないため、推測するのは困難ですが、もう 1 つの方法は、送信ボタンの名前を から のように変更する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();">

于 2012-08-14T15:04:52.857 に答える