Javascript 单选按钮在ie中不工作
我的表单中有4个单选按钮,一旦我提交表单,应选中任何单选按钮,如果没有,将显示警告消息。它在chrome、firefox中正常工作,但在ie one中,我检查了收音机,它总是显示警报,因此我无法提交表单,我在下面给出了我的代码,请帮助我 PHP:Javascript 单选按钮在ie中不工作,javascript,php,html,Javascript,Php,Html,我的表单中有4个单选按钮,一旦我提交表单,应选中任何单选按钮,如果没有,将显示警告消息。它在chrome、firefox中正常工作,但在ie one中,我检查了收音机,它总是显示警报,因此我无法提交表单,我在下面给出了我的代码,请帮助我 PHP: 用户名: 居住城市: 我是一名医生 艺术家 模型 作曲家 节拍制作人 无  我想收到您的通讯 JS: 函数validateForm(){ var province=document.forms[“myForm”][“province”].
用户名:
居住城市:
我是一名医生
艺术家
模型
作曲家
节拍制作人
无
 我想收到您的通讯
JS:
函数validateForm(){
var province=document.forms[“myForm”][“province”].value;
如果(省==0){
警报(“选择省”);
document.myForm.province.focus()文件
返回false;
}
var user_type=document.forms[“myForm”][“user_type”].value;
if(用户类型==null | |用户类型==“”){
提醒(“选择您是谁”);
返回false;
}
var letter=document.forms[“myForm”][“letter”].value;
如果(字母==null | |字母==“”){
警报(“选择您希望接收新闻信函”);
返回false;
}
}
问题在于,对于IE,文档。表单[“myForm”][“user\u type”]
是一个HTMLCollection,没有值
解决办法是改变
var user\u type=document.forms[“myForm”][“user\u type”].value代码>
到
var user\u type=document.querySelector('form[name=“myForm”]input[name=“user\u type”]:checked')。值代码>我观察到的是:
代码中没有名称省
(您提供的)。如果你把它包括在这里,它将不起作用
<script type="text/javascript">
function validateForm() {
var province = document.forms["myForm"]["province"].value;
if (province == 0 ) {
alert("Select Province");
document.myForm.province.focus()
return false;
}
var user_type = document.forms["myForm"]["user_type"].value;
if (user_type == null || user_type == "") {
alert("Select Who You are");
return false;
}
var letter = document.forms["myForm"]["letter"].value;
if (letter == null || letter == "") {
alert("Select that you want to receive news letter");
return false;
}
}
</script>
因此,正如Rayon Dabre先生所说,“没有任何元素被命名为省”。所以,我也同意他的看法。从validateForm()函数中删除province
验证(因为它不在
中使用)此代码应该可以实现以下功能:
function validateForm() {
var user_type = document.getElementsByName('user_type');
var u_type = '';
for (var i = 0, length = user_type.length; i < length; i++) {
if (user_type[i].checked) {
// do whatever you want with the checked radio
u_type = user_type[i].value;
// only one radio can be logically checked, don't check the rest
break;
}
}
if (u_type == "") {
alert("Select Who You are");
return false;
}
var letter = document.getElementsByName('letter')[0].checked;
if (letter == "" || letter == undefined) {
alert("Select that you want to receive news letter");
return false;
}
}
函数validateForm(){
var user_type=document.getElementsByName('user_type');
变量u_类型=“”;
for(var i=0,length=user_type.length;i
没有一个元素的名称是省
@Rayon-Dabre,这无关紧要。我只需要关于用户类型及其验证您的html无效。也许有问题。删除第2行和第4行中的
。同时删除第13行中的
。不在chrome中验证是否将省更改为市?这很重要。
<script type="text/javascript">
function validateForm() {
var province = document.forms["myForm"]["province"].value;
if (province == 0 ) {
alert("Select Province");
document.myForm.province.focus()
return false;
}
var user_type = document.forms["myForm"]["user_type"].value;
if (user_type == null || user_type == "") {
alert("Select Who You are");
return false;
}
var letter = document.forms["myForm"]["letter"].value;
if (letter == null || letter == "") {
alert("Select that you want to receive news letter");
return false;
}
}
</script>
<script type="text/javascript">
function validateForm() {
var user_type = document.forms["myForm"]["user_type"].value;
if (user_type == null || user_type == "") {
alert("Select Who You are");
return false;
}
var letter = document.forms["myForm"]["letter"].value;
if (letter == null || letter == "") {
alert("Select that you want to receive news letter");
return false;
}
}
</script>
function validateForm() {
var user_type = document.getElementsByName('user_type');
var u_type = '';
for (var i = 0, length = user_type.length; i < length; i++) {
if (user_type[i].checked) {
// do whatever you want with the checked radio
u_type = user_type[i].value;
// only one radio can be logically checked, don't check the rest
break;
}
}
if (u_type == "") {
alert("Select Who You are");
return false;
}
var letter = document.getElementsByName('letter')[0].checked;
if (letter == "" || letter == undefined) {
alert("Select that you want to receive news letter");
return false;
}
}