为表单提交按钮添加书签

时间:2014-05-17 08:08:08

标签: javascript forms function if-statement

我有一个表单,在提交时打开用户在表单中检查的页面 因此,用户检查,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;
}

1 个答案:

答案 0 :(得分:1)

这是我的解决方案,结合了@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