开发者

jQuery - how to show external web page if > 2 checkbox selected?

What I'm trying to do is when user click the 2 checkboxes it will pop up new window web page. I got the solution for 1 checkbox but i have hard time figuring out on how to do in both. I tried or || or and && but i didnt work.

Here my code:

<?php
 // when user clicked no checkbox

if(isset($_POST['bus']) &&
   $_POST['bus'] == 'bar' &&  $_POST['bus'] != 'carryout')
{
    echo '<script type="text/javascript" language="javascript"> window.open("http://yahoo.com", target="_self"); 
</script>'; 
}

// when user clicked yes checkbox

if(isset($_POS开发者_高级运维T['bus']) && 
   $_POST['bus'] == 'bar' &&  $_POST['bus'] != 'carryout')
{
      echo '<script type="text/javascript" language="javascript"> 
window.open("http://google.com", target="_self"); 
</script>'; 
}

else{

/// when user clicked both checkboxes
if(isset($_POST['bus']) && $_POST['bus'] == 'bar' &&
   $_POST['bus'] == 'carryout')
{

  echo '<script type="text/javascript" language="javascript"> 
window.open("http://getvms.com", target="_self"); 
</script>'; 
}}
?>

form action="<?php echo $PHP_SELF;?>" method="post">

 Type of restaurant are you?<br>
    <br>
    BAR
    input type="checkbox" name="bus" id="1" value="bar" ?php if(isset($_POST['bus'])) ?>/><br>

 CARRYOUT input type="checkbox" name="bus" id="2"value="carryout" ?php if(isset($_POST['bus']))?>/>

input type="submit" name="formSubmit" value="Submit" />

</form>


Track your checked state

If you need to count checkboxes then introduce an array of values. SUppose your checkboxes are named as:

<input type="checkbox" name="cb1" data="singleURL1" />
<input type="checkbox" name="cb2" data="singleURL2" />

then you could be doing it this way:

$(function(){

    var checked = {
        cb1: false,
        cb2: false,
        both: function(){
            return this.cb1 && this.cb2;
        },
        allUrl: "some combined URL"
    };

    $(":input:checkbox").click(function(){
        checked[this.name] = this.checked;
        if (checked.both() === true)
        {
            var url = checked.allUrl;
            // open combined URL
        }
        else
        {
            var url = $(this).attr("data");
            // open single checkbox URL
        }
    });

});

I've put all the code inside a DOM ready anonymous function enclosure that can be used as is.


Using jQuery, you can do $('input:checkbox').click(function(){...})


<?php

$url = false;

if(isset($_POST['bar']) && isset($_POST['carryout'])) $url = 'http://carryoutbar.com';
elseif(isset($_POST['carryout'])) $url = 'http://carryout.com';
elseif(isset($_POST['bar'])) $url = 'http://bar.com'; // nice place, pay foo a visit!

if($url) echo '
    <script type="text/javascript" language="javascript">
      window.open("' . $url . '", target="_self"); 
    </script>';
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">

Please select:<br/>

<input type="checkbox" name="bar" value="1" /> BAR<br/>
<input type="checkbox" name="carryout" value="1" /> Carryout<br/>

<input type="submit" name="formSubmit" value="Submit" />

</form>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜