在jQuery语句中执行URl重定向

在jQuery语句中执行URl重定向,jquery,redirect,Jquery,Redirect,我有这个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/pr

我有这个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:

如果用户单击复选框而未选中任何项目

基于此建议,我尝试了上述代码:

但那是行不通的。如果您能提供任何意见和建议,我将不胜感激。谢谢大家!

更新:这是我的HTML代码/a表单:

<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>

尝试以下方法。在重定向后添加一个返回false:

jQuery文档.ready函数${ $'myform'。提交函数{

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
}
});
};

如果您提交表单,您将提交到另一个文档。这意味着为了到达另一个位置,您可以通过document.location.replace和cancel将其设置为表单提交返回false;应该足够了


或者操纵表单的操作目标url。积极的副作用是,在默认和备用操作两种情况下,表单中键入的任何数据都将实际提交

提供html代码,我认为选择器不正确。是否尝试调试$'myform input'。是否:选中?$'myform input'将返回一个输入元素数组,然后可能会导致最后一个函数“:checked”不正确。JS控制台中存在错误,但在提交表单后我无法捕获确切的错误。有没有办法暂停代码执行?好的,我得到了错误,这是Firebug控制台上显示的错误:拒绝对本机属性进行阴影的权限我对更新代码的意见:1您对两个元素使用了一个ID mycheckbox,元素的ID应该是唯一的。2您可以尝试将条件设置为$myform input[name='product-skus[]']:checked.length>0而不是$'myform input'.is':checked'这很奇怪,window.location.replace和window.location.href都不起作用。我在Firefox、Chrome和Chrome中使用Ubuntu操作系统。它们都不起作用..我遗漏了什么吗?那是因为你的代码的那部分很好。还有一些问题很糟糕,比如你的jQuerydocument.ready或你的选择器已关闭。我已用其他信息更新了我的原始问题。谢谢你的帮助。谢谢米歇尔。实际上,最后,我把解决方案简化了一点。如果用户不在复选框上检查任何内容,我只需禁用submit按钮。这将阻止提交表单。不管怎样,我从你的回答中获得了很多见解,这些见解引导我找到了正确的问题解决方案。我把这个标为答案。
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
}