以下是我正在处理的代码
<html>
<script>
var submit = document.getElementById('btnFormSubmit');
submit.addEventListener('click', submitForm);
function submitForm(event){
event.preventDefault();
event.stopPropagation();
var href = '',
inputs = this.parentNode.getElementsByTagName('input')
for(var i=0;i<inputs.length;i++){
if(inputs[i].getAttribute('name') == 'scenarionum' && inputs[i].checked){
href = inputs[i].getAttribute('data-href');
value= inputs[i].getAttribute('value');
window.location = href;
}
}
}
</script>
<head>
<title>Hello</title>
</head>
<body>
<form method="post" name="start" action="./test.pl">
<div class="Folder">
<input type="radio" name="scenarionum" value="Run Suite" data-href="test.pl"/>Suite</div>
<input type="submit" value="Run" id="btnFormSubmit" />
</form>
</body>
</html>
这很好用。当我点击“提交”按钮时,它会将我带到“test.pl”页面,但我想将其与单选按钮的值重定向(在这种情况下为“运行套件”)
请告诉我javascript中的修改以重定向到test.pl以及值“Run Suite”
答案 0 :(得分:1)
删除所有JavaScript,表单将按预期工作。 HTML表单已经知道如何向脚本提交值。
答案 1 :(得分:0)
将值作为请求参数添加到网址:
if(inputs[i].getAttribute('name') == 'scenarionum' && inputs[i].checked){
href = inputs[i].getAttribute('data-href');
value= inputs[i].getAttribute('value');
window.location = href + "?scenarionum=" + value;
}
答案 2 :(得分:0)
发送GET
您可以将其添加到网址中,如下所示:
window.location = href+"?value="+value;
发送帖子
如果您希望表单发送POST,您可以执行以下操作:
if(inputs[i].getAttribute('name') == 'scenarionum' && inputs[i].checked){
document.getElementById("myForm").action = inputs[i].getAttribute('data-href');
document.getElementById("myForm").submit();
}
你还必须给你的表单一个id,所以可以用getElementByID找到它,或者你可以使用
document.getElementsByName("start")[0].
答案 3 :(得分:0)
使用以下内容更改提交输入。它有效,只是经过测试。
<input type="submit" value="Run" id="btnFormSubmit" onclick="document.forms['start'].action=document.getElementById('scenarionum').checked ? './test.pl?scenarionum=' + document.getElementById('scenarionum').value : './test.pl'" />