2016-10-20 11 views
0

次のコードをcaptcha付きのフォームで使用しています。キャプチャが正しい場合は、$success = 1、それ以外の場合は$success=2となります。キャプチャがいっぱいでない場合は、$success=1window.locationがもう一度動作しない

id=validationはページの一番下にあるcaptchaで、id=successはページの一番上にあるdiv要素に記載されています。

問題:

まずテスト:
1)キャプチャされます。
1)キャプチャが正しいか - >ページトップ

第二の試験に来る - >提出ヒット間違っていないか入力してください - >ヒットしてください - >ページが一番下に来る
2)captchaが正しい - >ヒットenter - >ページの下にある (whそれはトップに行くべきereas)

Javaスクリプト:

var myVariable = <?php echo(json_encode($success)); ?>; 
if (myVariable == 2) { 
    window.location = (""+window.location).replace(/#[A-Za-z0-9_]*$/,'')+"#validation" 
}; 
if (myVariable == 3) { 
    window.location = (""+window.location).replace(/#[A-Za-z0-9_]*$/,'')+"#validation" 
}; 
if (myVariable == 1) { 
    window.location = (""+window.location).replace(/#[A-Za-z0-9_]*$/,'')+"#success" 
}; 
+1

try 'window.location.href' –

+0

あなたは入力ボタンイベントをキャプチャしましたか? Enterボタンを押すとリクエストを受け取りますか? – Mehavel

答えて

1

はこれを試してみてください:

<script type='text/javascript'> 
var myVariable = <?php echo(json_encode($success)); ?>; 
if (myVariable == 2 || myVariable == 3) { 
window.location.href = (""+window.location.href).replace(/#[A-Za-z0-9_]*$/,'')+"#validation" 
}; 
if (myVariable == 1) { 
window.location.href = (""+window.location.href).replace(/#[A-Za-z0-9_]*$/,'')+"#success" 
}; 
</script> 

私は window.location.href window.locationのを変更し、 1つのif文で同じ結果が得られました。

関連する問題