我的optin表格有以下代码:
<script language="JavaScript">
function checkSub() {
if (document.signup.email.value.indexOf('@', 0) == -1) {
alert("Please fill in your valid Email address.\nYour email should be in the following format: email@address.com");
document.signup.email.focus();
return false
}
else if (!document.signup.terms.checked) {
alert("You must read and agree to the terms");
document.signup.terms.focus();
return false
}
else {
switch (document.signup.extra1.value) {
case "Platinum":
answer = confirm("By clicking OK you confirm that you have\nalready entered
the World Cup Giveaway\nas a Platinum upgrade contributor.\n\nIf you have
not yet entered the giveaway\nclick Cancel.\n\nYou can enter using the
link at the\nbottom of the page.\n\nIf you have already entered the
giveaway\nusing a link other than my invitation link\nyou are not
eligible for this offer.");
if (!answer) {
return false
}
break;
case "Gold":
answer = confirm("By clicking OK you confirm that you have\nalready entered
the World Cup Giveaway\nas a Gold upgrade contributor.\n\nIf you have not
yet entered the giveaway\nclick Cancel.\n\nYou can enter using the link
at the\nbottom of the page. \n\nIf you have already entered the
giveaway\nusing a link other than my invitation link\nyou are not eligible
for this offer.");
if (!answer) {
return false
}
break;
default:
alert("You must sign up as a contributor to the \nWorld Cup Giveaway to take
advantage of \nthis offer.\n\nPlease click the link at the bottom of this
\npage or at the blog post mentioned below \nto sign up.\n\nIf you have
already signed up using \nthis link, please select the upgrade level\nyou
chose on signup or select \"Free\" if \nyou signed up as a free
contributor.\n\nIf you have already entered the giveaway\nusing a link other
than my invitation link\nyou are not eligible for this offer.\n\nNote: This
page may not function properly\nif viewed in languages other than English.");
return false
}
}
}
</script>
和HTML
<form action="http://ebizac.com/ar/optin.php" method="post" name="signup"
onsubmit="return checkSub()">
<input type=hidden name="action" value="addlead">
<input type=hidden name="member" value="2315">
<input type=hidden name="auto" value="7584">
<input type=hidden name="thankyou" value="http://plr.forinternetnewbies.com/Offer1">
<input type=hidden name="resubsetting" value="Y">
<input type=hidden name="resubredirect" value="">
<input type=hidden name="invalid_redirect" value="">
<div style="padding:0 0 0 10px;">
<table border=0 cellspacing=0 cellpadding=2>
<tr>
<td class="label">
<font size="2" face="arial, verdana">
Name:
</font>
</td>
<td>
<input type=text size=20 name="fname">
</td>
</tr>
<tr>
<td class="label" width="150">
<font size="2" face="arial, verdana">
Email address:
</font>
</span>
</td>
<td>
<input type=text size=20 name="email">
</td>
</tr>
<tr>
<td class="label">
<font size="2" face="arial, verdana">
Upgrade Level:
</font>
</td>
<td>
<select size=1 name="extra1">
<option>
Haven't Joined Yet
</option>
<option>
Platinum
</option>
<option>
Gold
</option>
<option>
Silver
</option>
<option>
Free
</option>
</td>
</tr>
<tr>
<td>
</td>
<td align=center>
<input type="checkbox" name="terms" value="agree">
I agree to the terms as described on the
<a href="http://short9.com/blog0522-sp" target="_blank">blog post</a>
</td>
</tr>
<tr>
<td>
</td>
<td align=center>
<input type="submit" value="Contribute Now">
</td>
</tr>
</table>
</div>
</form>
一切都符合我对Firefox的期望,但在Internet Explorer中,switch语句始终是默认情况。我在默认情况下使用额外警报(signup.extra1.value)进行测试,并显示空字符串。
这可能是什么问题?
答案 0 :(得分:0)
不知道是不是原因(现在无法测试),但您可能想尝试更正<script>
元素:
<script type="text/javascript" charset="utf-8">
答案 1 :(得分:0)
我不知道究竟是什么问题,但是当IE提出JavaScript问题时,我会使用内置的调试器。 (IE8)我会把
debugger;
在您切换之前并使用Watch窗口查找
的值document.signup.extra1.value
及其所有作品。
答案 2 :(得分:0)
您的选项标签需要具有“值”属性。你应该检查那些。
<option value="1">Gold</option>
<option value="2">Platinum</option>
然后在你的剧本中:
switch(document.form_name.select_name.value) {
case '1': alert("Gold"); break;
case '2': alert("Platinum"); break;
}
答案 3 :(得分:0)
您很可能遇到与Javascript returns Nan in IE, FF ok
相同的问题首先,将language="JavaScript"
替换为type="text/javascript"
。第一个是在很久以前被弃用的。
其次,不要以这种方式访问表单元素,因为它非常脆弱 使用
访问表单元素可能会更好这两种方法都比你现在做的更好。