1

私はこのjQueryコードを持っています:

jQuery( document ).ready( function( $ ) {
$('#myform').submit( function() {

    if ($('#myform input').is(':checked')) {

    } else {
        //alert('Checkbox is not checked!!');
        window.location.replace("http://example.com/product-comparisons/?product-skus=0");

    }

 });

});

このURLにリダイレクトしたい:

http://example.com/product-comparisons/?product-skus=0

ユーザーがチェック項目なしでチェックボックスをクリックした場合。

私はこの提案に基づいて上記のコードを試しました:JavaScript / jQueryで別のWebページにリダイレクトする方法は?

しかし、それはうまくいきません。ご意見やご提案をいただければ幸いです。ありがとうございました!

更新:これは私のHTMLコード/フォームです:

<form action="/product-comparison/" id="myform">
<ul>
<li>
<input type="checkbox" name="product-skus[]" value="1" id="mycheckbox">
<a href="http://example.com/product/translator/">Translator</a>100<img width="150" height="150" title="View product" style="" alt="View product" class="attachment-thumbnail" src="http://example.com/wp-content/uploads/2012/12/pic1-150x150.jpg"></li>
<li><input type="checkbox" name="product-skus[]" value="2" id="mycheckbox">
<a href="http://example.com/product/arrows/">Arrows</a>120<img width="150" height="150" title="View product" style="" alt="View product" class="attachment-thumbnail" src="http://example.com/wp-content/uploads/2012/12/pic2.jpg"></li></ul>

<input type="submit" value="Compare">

</form>

ただし、この診断コード(アラートを使用してjQueryが正しいロジックに到達していることを確認する)が完全に機能しているため、セレクターは正しいと思います。

jQuery( document ).ready( function( $ ) {
$('#myform').submit( function() {

    if ($('#myform input').is(':checked')) {
        alert('Checkbox is checked, do nothing');
    } else {

        alert('Checkbox is not checked!!, do the redirects');


    }

 });
});
4

2 に答える 2

0

フォームを送信すると、別のドキュメントに送信されます。つまり、別の場所に移動するには、設定しdocument.location.replaceてフォームの送信をキャンセルすることができます(return false;十分なはずです)。

または、フォームのアクション(ターゲットURL)を操作します。プラスの副作用は、フォームに入力されたデータが実際には両方の場合に送信されることです(デフォルトおよび代替アクション)

于 2012-12-10T08:42:11.973 に答える
-1

次のことを試してください。リダイレクトの後にreturnfalseを追加します。

jQuery(document).ready(function($){$('#myform')。submit(function(){

if ($('#myform input').is(':checked')) {

} else {
    //alert('Checkbox is not checked!!');
    window.location.replace("http://example.com/product-comparisons/?product-skus=0");
    return false; //Add this
}

}); });

于 2012-12-10T06:59:33.113 に答える