2014-02-20 100 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'" />