2016-09-20 120 views
1

根據用戶的選擇,表單中有一個是或否的字段我希望根據他們的回答將它們發送到不同的感謝頁面。Javascript重定向到兩個感謝頁面,具體取決於表單響應

有了這個,我只是得到一個空白頁。我嘗試了所有我能想到的東西,所以我很欣賞任何見解。

<form action="http://www.google.com/form" name="Lead" id="Lead" class="sem-form" onsubmit="return redirectTY()"> 
 
    <label class="select"> 
 
     <select name="Invest_RD" id="Invest_RD"> 
 
     <option value="Yes">Yes</option> 
 
     <option selected="selected" value="No">No</option> 
 
     </select> 
 
    </label> 
 
</form>

function redirectTY(){ 
 
    var qualify = document.getElementById("Invest_RD".value); 
 
    if (qualify == "Yes"){ 
 
\t  window.location.href='http://www.google.com'; 
 
    } else { 
 
\t  window.location.href='http://www.bing.com'; 
 
    } 
 
}

+0

對不起,我忘了提交按鈕的代碼,但我有一個。 –

回答

0

你的代碼看起來很好,除了這個細節:

document.getElementById("Invest_RD".value); 

這會崩潰所有的JavaScript。可能你的控制檯(開發人員工具)有紅色的消息提到這一點。要修復它寫:

document.getElementById("Invest_RD").value; 

這是因爲getElementById()document的方法,以及valuegetElementById()返回的元素的屬性。

+0

那些該死的語法錯誤......非常感謝。 –

+0

不客氣:) –

0

在您的代碼片段中,您錯過了submit button來提交表單或執行按鈕提交的任何其他操作調用。當動作呼叫單獨完成時,表單將提交,您可以檢查值。

因此你的HTML看起來像

<form action="" name="Lead" id="Lead" class="sem-form" onsubmit="return redirectTY()">  
<label class="select"> 
<select name="Invest_RD" id="Invest_RD"> 
<option value="Yes">Yes</option> 
<option selected="selected" value="No">No</option> 
</select></label> 
<input type="submit" name="submit" value="SUBMIT" /> 
</form> 

您沒有必要的行動,以提交表單時,你可以從那裏追上後,因爲它被調用JS。

可以使用以下JS檢索選擇標記值,並且可以執行計算。

$('#Invest_RD').val(); // Getting the selected value from the select tag 
0

添加提交按鈕<input type ="submit" value="submit">觸發您的html表單中的onsubmit事件。並改變onsubmit = "redirectTY();return false;"

<label class="select"> 
    <select name="Invest_RD" id="Invest_RD"> 
     <option value="Yes">Yes</option> 
     <option selected="selected" value="No">No</option> 
    </select></label> 
    <input type ="submit" value="submit"> 
    </form> 
+0

我以爲我可能需要停止提交過程,但不知道該把它放在哪裏。非常感謝你,這救了我! –

+0

很高興幫助.. – Cyclotron3x3

相關問題