2011-09-13 12 views
0

ここにコードを入力してください `私はpaypalに行くリンクを作ろうとしていますが、チェックボックスがチェックされていればリンクが機能します。これは私のコードです:利用規約を確認した後、JavaScriptを使用してリンクを確認します

HTML

<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MDSGURBJXF5K6" onclick="return buy_link(this)">Buy hard copy</a> 

Javascriptを

function buy_link(link){ 
    agree_check = oForm.elements["agree"].value; 
    if(agree_check === true){ 
    window.location = link.href; 
    }else{ 
    alert("You must agree to the terms and conditions before purchasing."); 
    } 
    return false; 
} 

ちょうど起こるものは何でもリンクするように見えますか? window.location()関数をコメントアウトすると、イベントが発生します。どんな考えがどこに間違っているの?

+0

私は 'checked'プロパティを調べるべきです。 – user278064

答えて

1

buy_link()にリンクを渡す必要はありません。 onClickイベントハンドラがfalseを返す場合、ブラウザはイベントをさらに処理せず、hrefは使用されません。 trueを返すと、それが返されます。

<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MDSGURBJXF5K6" onclick="return buy_link();">Buy hard copy</a> 


function buy_link(){ 
    agree_check = oForm.elements["agree"].checked; 
    if(!agree_check){ 
     alert("You must agree to the terms and conditions before purchasing."); 
    } 
    return agree_check; 
    } 
+0

[Paul](http://stackoverflow.com/users/220299/paul-creasey)の回答は、ここでのポイントに取り組んでいます。 'checked'プロパティは、見るべきものです。また、この答えでそれを修正しました。 –

+0

あなたが言うことは意味がありますが、何らかの理由で私はまだ同じ問題を抱えていますか?これはチェックボックスです。[code] [/ code] – Zephni

+0

JavaScriptを有効にしていますか?この解決策はjsに依存しているので、javascriptなしで 'onclick'を処理することはできません。また、oForm.elements ["agree"]が実際に要素であることを確認してください。または、 'confirm_check = document.getElementById( 'checkId')。' '' –

0
var agree_check = Form.elements["agree"].checked; 

か、単に

if (Form.elements["agree"].checked) 
{ 

シャビ・ロペスは、関数へのリンクを通らない程度正しいです。

関連する問題