繁体   English   中英

使用单选按钮的值重定向

[英]Redirect with value of radio button

这是我正在处理的代码

<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”,但我想将其与单选按钮的值一起重定向(在本例中为“ Run Suite”)

请告诉我javascript中的修改,以重定向到test.pl以及值“ Run Suite”

删除所有JavaScript,该表格将按预期工作。 HTML表单已经知道如何向脚本提交值。

将值添加到url作为请求参数:

 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;
 }

发送获取

您可以像这样将其添加到URL:

window.location = href+"?value="+value;

JSFiddle中的示例

发送帖子

如果您希望表单发送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].

JSFiddle中的示例

使用以下命令更改您的提交输入。 它有效,只是经过测试。

<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'" />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM