我的JavaScript函數在Chrome/Firefox與Safari/Opera中的評估方式不同。關於我的展示/隱藏的總體目標有很多答案(即here)。我寧願不要在這種情況下使用jQuery。無論如何,我想要解決的主要問題是條件在所有瀏覽器中都不是相同的。IF在Chrome中返回True,但在Safari中爲False
如果我在Chrome或Firefox中運行我的代碼,我會收到以下提示:「Foo - 新功能運行」。 如果我在Safari或Opera中運行相同的代碼,我會收到警告:「Foo - Else Function Ran」。
我不知道爲什麼這是瀏覽器特定的。我很高興去閱讀一些額外的線程或文檔,如果這是其他地方解決,但我似乎無法弄清楚。
//編輯:根據要求,簡化代碼以僅顯示相關部分。
function bar(){
\t var addGiftVal = document.forms["subscribe"]["addGift"].value;
\t if (addGiftVal == "yes"){
\t \t alert("Bar - Yes Function Ran.");
\t }
\t
\t else {
\t \t alert("Bar - Else Function Ran.");
\t }
}
function foo(){
\t var subTypeVal = document.forms["subscribe"]["sub_type"].value;
\t var subShipVal = document.forms["subscribe"]["ship_address_check"].value;
\t if (subTypeVal == "renewal"){
\t \t alert("Foo - Renewal Function Ran.");
\t \t }
\t
\t else if (subTypeVal == "new"){
\t \t alert("Foo - New Function Ran.");
\t \t }
\t
\t else {
\t \t alert("Foo - Else Function Ran.");
\t \t }
\t \t
}
<body onLoad="foo();">
<form name="subscribe" id="subForm">
<p><input type="radio" name="sub_type" value="new" id="subf_new" checked="checked" onclick="foo();"> <label for="subf_new">New</label>
<input type="radio" name="sub_type" value="renewal" id="subf_renewal" onclick="foo();"> <label for="subf_renewal">Renewal</label>
<input type="radio" name="sub_type" value="gift" id="subf_gift" onclick="foo();"> <label for="subf_gift">Gift</label> </p>
<p><input type="radio" name="ship_address_check" id="subf_same" value="same" checked="checked" onclick="foo();"><label for="subf_same">Same</label> </p>
<p><input type="radio" name="ship_address_check" id="subf_different" value="different" onclick="foo();"><label for="subf_different">Different</label> </p>
<p>Yes or No?</p>
<input type="radio" name="addGift" id="subf_yes" value="yes" onclick="bar();"><label for="subf_yes">Yes</label>
<input type="radio" name="addGift" id="subf_no" value="no" onclick="bar();"><label for="subf_no">No</label>
<div id="submitBox"><input type="submit" value="Submit">
</form>
</body>
什麼是document.forms [「subscribe」] [「sub_type」]?它是一個複選框,下拉,輸入,隱藏,否則? –
你可以把這段代碼剁碎成一個小的,容易重現的例子嗎? –
是「sub_type」選擇框? – tanaydin