0

3つのステップがあるお問い合わせフォームがあり、それぞれに独自の「タブ」があり、電子メールのphpスクリプトを介して送信されます。ライブバージョンはhttp://agoodman.com.au/wptest/menswear-porter-service/にあります([60秒で予約]をクリックします)。

最初のフォームでは、先に進む前に、彼らが電子メールアドレスを入力したことを確認したいと思います。私は以下を介してこれを試みました:

<button class="btn classic" onclick=" if ('#basicdetails .email').value ='=' ' '){return false;} else {document.getelementbyid('n.2').click();}">next</button>

現在、コードは実際に電子メールアドレスをチェックし、何も入力されていない場合は停止しますが、電子メールが入力されてもフォームは進行しません。(「#n.2」は、フォームの次のページを表示するだけのタブです)。ステートメントを削除しifてボタンコードを作成すると、次のようになります。

<button class="btn classic" onclick="document.getelementbyid('n.2').click()">next</button>

その後、フォームは正常に進行しますが、電子メールアドレスが入力されていなくても明らかに停止しません。

私の`if/ else'構文は間違っていますか?そうでなければ、私はここで何が欠けていますか?

編集:

構文でいくつかの大きなエラーが発生しました(最初にこの種のものを試してください)。更新されたコードを参照してください。

<button class="btn classic" id="firstTab">next</button>

<script>
$('.btn#firstTab').click(function(){
if (('#basicdetails .email').value =='') {
  return false;
} else {
 $('#n2').click();
}
});

</script>
4

1 に答える 1

3

インライン JavaScript を使用することは決して良い考えではありません。マークアップをロジックから切り離すと、整理しやすくなり、エラーを簡単に見つけることができます。コードを分解して適切にインデントすると、問題がすぐにわかります。

if ('#basicdetails .email').value ='=' ' ') {
  return false;
} else {
  document.getelementbyid('n.2').click();
}

確かにいくつかの問題。ステートメントに a(がありません。if次に、 orなどの比較演算子を使用する必要があります。演算子は割り当て専用です最後に、これはごちゃごちゃしているように見えます。それが何を意味するのかはまったく明らかではありません。さらに、有効な JavaScript ではありません。また、jQuery セレクターを意図していた場合、括弧の前に がありません。======='=' ' '('#basicdetails .email')$

于 2012-11-10T00:07:40.283 に答える