我有一个表单,在提交时打开用户在表单中检查的页面 因此,用户检查,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;
}
答案 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();
}
}
当然,您可以向<a>
元素添加一个类,并显示为按钮:
选中所有复选框后,打开所有网站: