作为HTML方式的白痴我只是在w3学校的帮助下搞乱了反复试验。我正在尝试与看似CGI脚本的接口进行交互,并将一个将所有信息发送到服务器的URL组合在一起。我已经知道这需要用表单完成,并且除了多个条目之外我还需要大部分信息。 例如:
<form name="send" action="url" method="get" target="_blank">
<input type="checkbox" name="foo" value="lorem"/>
<input type="checkbox" name="foo" value="ipsum"/>
<input type="submit" value="submit">
</form>
根据我的理解和我可以拼凑的内容,如果勾选了两个复选框,它将生成一个网址。 url?foo=lorem&foo=ipsum
我希望它输出的是一个像“url?foo = lorem,ipsum”的网址
这是用简单代码实现的吗? Java&amp;仅限HTML,不希望添加PHP或其他一些服务器端脚本语言,大多数是浏览器可以完成的所有工作。
答案 0 :(得分:0)
是的,这可以使用jQuery完成。
通过在head标签中添加链接标记来安装jQuery库。
获取每个复选框的值,并使用if / else语句。
<script>
var var1 = $('#box1').val();
var var2 = $('#box2').val();
var link1 = null;
var link2 = null;
if (var1 == null){}else{link1 = "lorem";};
if (var2 == null){}else{link2 = "ipsum";};
</script>
然后只需将链接变量完全按照您希望的方式连接到字符串。
要使上述工作正常,您必须在输入标签上设置id =“box1”和id =“box2”。
答案 1 :(得分:0)
实际上,另一种方法是使用jQuery的序列化。
它将采用您想要的任何元素(即表单中的所有复选框)并将它们序列化为一个字符串(包括它们的名称和值),您可以稍后解析(解码)它们。
$('#formSubmit').on("click", initEntrySubmission); //when the form's submit button is clicked, initiate the function "initEntrySubmission"
function initEntrySubmission(e) {
e.preventDefault(); //prevent the form from immediately submitting
var serializedInputs = $("#protocolForm :input").serialize(); //serialize the input fields in your form with id="protocolForm", and assign its value to a variable serializedInputs
$('#serialInput').val(serializedProtocol); //your hidden form named serialInput
$('form#entryForm').submit(); //submit the form after everything is done
}
但最终,你的名字=“......”参数在复选框之间应该不同,否则你会在下游遇到很多问题。