2014-02-20 99 views
0

这里的价值是我对重定向与单选按钮

<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

+2

你实际需要的脚本,提交按钮会的形式输入的值会自动上传至由操作属性设置页面。 – Esko

回答

0

值添加到URL作为请求PARAM:

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

删除所有的JavaScript和形式会按预期方式工作HTML表单已经知道如何向脚本提交值

0

SEND GET

您只需将它添加到URL是这样的:

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

Example in JSFiddle

发送POST

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

Example in JSFiddle

+0

我这样做,但它不工作 – Bhavesh

+0

你应该阅读“./test.pl”上的URL来获取值,因为它不是POST而是GET。 – Hoedje

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