Javascript-单选按钮onChange
这是我的密码:Javascript-单选按钮onChange,javascript,php,html,Javascript,Php,Html,这是我的密码: <html> <head> <script type="text/javascript"> function Change(radio) { if(radio.value) { setvalue = "Yes"; radiovalue = radio.value;
<html>
<head>
<script type="text/javascript">
function Change(radio)
{
if(radio.value)
{
setvalue = "Yes";
radiovalue = radio.value;
value = setvalue;
ChangeValue(radiovalue,value)
}
}
function ChangeValue(radiovalue, value)
{
alert(radiovalue+"=>"+value);
}
</script>
</head>
<body>
<?php
for($i = 1; $i <= 3; $i++)
{
?>
<input type="radio" name="choice" value="<?php echo $i;?>" onchange="Change(this);" /><br />
<?php
}
?>
</body>
</html>
网页中有3个单选按钮。
从上面的代码中,当我单击第一个单选按钮时,它将显示我选择的单选按钮的警报消息,即1=>Yes。
是表示我选择单选按钮。
不意味着我没有选择单选按钮。
现在我的问题是,如果我选择第一个单选按钮,它将显示每个单选按钮的警报消息,即1=>是,2=>否,3=>否。我应该如何修改?在您的示例中,radio.value将是字符串1、2或3。所有这些都是真实的,因此if块将始终运行。您需要使用比较运算符(如if语句中的==)比较实际值
例如:
我将你的示例剪切粘贴到一个web应用程序中,它的工作方式正是你所期望的——IE和chrome——所以我不知道你为什么会得到奇怪的结果。ifradio.value只是检查值是否存在,并正确编码。您可以尝试onchange=return Changethis,因为某些浏览器可能不喜欢open调用。请尝试此操作
<html>
<head>
<script type="text/javascript">
function Change(radio) {
for (var i = 1; i < 4; i++) {
var ele = document.getElementById("choice_"+i);
if(ele.checked) {
setvalue = "Yes";
radiovalue = ele.value;
value = setvalue;
ChangeValue(radiovalue,value)
} else {
setvalue = "No";
radiovalue = ele.value;
value = setvalue;
ChangeValue(radiovalue,value)
}
}
}
function ChangeValue(radiovalue, value) {
alert(radiovalue+"=>"+value);
}
</script>
</head>
<body>
<?php
for($i = 1; $i <= 3; $i++) {
?>
<input type="radio" name="choice" id="choice_<?php echo $i;?>" value="<?php echo $i;?>" onchange="Change(this);" /><br />
<?php
}
?>
</body>
</html>
好的,亚历山大。我试试看。
<html>
<head>
<script type="text/javascript">
function Change(radio) {
for (var i = 1; i < 4; i++) {
var ele = document.getElementById("choice_"+i);
if(ele.checked) {
setvalue = "Yes";
radiovalue = ele.value;
value = setvalue;
ChangeValue(radiovalue,value)
} else {
setvalue = "No";
radiovalue = ele.value;
value = setvalue;
ChangeValue(radiovalue,value)
}
}
}
function ChangeValue(radiovalue, value) {
alert(radiovalue+"=>"+value);
}
</script>
</head>
<body>
<?php
for($i = 1; $i <= 3; $i++) {
?>
<input type="radio" name="choice" id="choice_<?php echo $i;?>" value="<?php echo $i;?>" onchange="Change(this);" /><br />
<?php
}
?>
</body>
</html>