javascript之为表单提交按钮添加书签

yyy_WW 阅读:65 2025-12-25 22:24:30 评论:0

我有一个表单,提交后会打开用户在表单中选中的页面。
因此,用户检查了 site1 和 site2,提交后将打开这些页面。

现在我希望用户能够为提交按钮或其他内容添加书签...
有没有办法做到这一点。对于普通的超链接,您只需拖动它即可,但对于提交按钮,情况并非如此......

书签仍然需要打开表单中选定的页面。

我的代码:

<form> 
<input type="checkbox" id="site1" name="site1" value="site1">Site1<br> 
<input type="checkbox" id="site2" name="site2" value="site2">Site2<br> 
<input name="submit" value="open it up!" type="submit" onclick="validate()"> 
</form> 

到目前为止的脚本:

function validate() { 
    $(":checkbox:checked").each(function() { 
        var sitename = $(this).val(); 
        window.open('http://www.' + sitename + '.com'); 
    }); 
    return false; 
} 

请您参考如下方法:

这是我的解决方案,结合了 @Sthephen Muecke 和 @Dave 的想法:

html: 
    <input type="checkbox" id="site1" name="site1" value="site1" onclick="changeSite(this);">Site1<br> 
    <input type="checkbox" id="site2" name="site2" value="site2" onclick="changeSite(this);">Site2<br> 
    <input name="submit" value="open it up!" type="button" onclick="validate()"> 
    <div id="newLink"></div> 

js:

window.validate= function() { 
    $(":checkbox:checked").each(function() { 
        var sitename = $(this).val(); 
        window.open('http://www.' + sitename + '.com'); 
    }); 
    return false; 
} 
 
window.changeSite= function(obj){ 
   var site = $(obj).val(); 
    $("#selectedSite").attr("href",site); 
    $("#selectedSite").html(site); 
    if($(obj).prop("checked")){ 
        $("<a/>",{ 
            id: site+"Test", 
            href:site, 
            html: site 
        }).appendTo("#newLink"); 
    } 
    else{ 
        $("#"+site + "Test").remove(); 
    }              
} 

fiddle

当然你可以添加一个类到 <a>元素并显示为按钮:

Link as button

选中所有复选框后,打开所有站点:

Open all sites when more than one checkbox is checked


标签:JavaScript
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号