<body>
<input type="radio" name="other_charges" value="To Pay" >To Pay
<input type="radio" name="other_charges" value="COD" >COD
<input type="submit" onclick="sum_cash()"/>
</body>
这是我的html ...在这里我有两个不同值的单选按钮,我使用onclick事件调用了一个函数....这里是代码......
<script type="text/javascript">
function sum_cash() {
var elements_ocharges = document.getElementsByName('other_charges');
for (var i = 0; i < elements_ocharges.length; i++) {
if (elements_ocharges[i].checked)
value_ocharges = elements_ocharges[i].value;
}
var val_ocharges=value_ocharges;
if (val_ocharges=="To Pay") {
alert("pay");
}
if (val_ocharges=="COD") {
alert("cod");
}
if ((val_ocharges!="COD") && (val_ocharges!="To Pay") ) {
alert("hi");
}
}
</script>
现在在函数中,我正在检查所选单选按钮的值。如果用户选择支付单选按钮,则单击提交按钮会提醒用户付款。当用户选择 COD 单选按钮时,提交时会提醒COD。
我想要的是,当用户没有选择任何内容并点击提交按钮时,它应该提醒用户。不幸的是,它没有检查条件。有人可以帮帮我吗?
答案 0 :(得分:0)
试试这个,
else if ((val_ocharges =="")
{
alert("hi");
}
希望这会有所帮助!!
答案 1 :(得分:0)
您可以尝试这样:
<script type="text/javascript">
function sum_cash()
{
var elements_ocharges = document.getElementsByName('other_charges');
var value_ocharges = null;
for (var i = 0; i < elements_ocharges.length; i++)
{
if (elements_ocharges[i].checked)
value_ocharges = elements_ocharges[i].value;
}
var val_ocharges=value_ocharges;
if(val_ocharges=="To Pay")
{
alert("pay");
}
else if(val_ocharges=="COD")
{
alert("cod");
}
else
{
alert("hi");
} }
</script>
答案 2 :(得分:0)
你的问题是有条件的,靠近顶部:
if (elements_ocharges[i].checked)
value_ocharges = elements_ocharges[i].value;
由于未选中单选按钮,因此永远不会设置value_ocharges
。当您尝试使用var val_ocharges=value_ocharges;
访问该值时,这会导致错误,您应该在进入循环之前将value_ocharges
的值设置为某个值(null
没问题),然后一切都会正常工作:
<script type="text/javascript">
function sum_cash()
{
var elements_ocharges = document.getElementsByName('other_charges');
var value_ocharges = null;
for (var i = 0; i < elements_ocharges.length; i++)
{
if (elements_ocharges[i].checked)
value_ocharges = elements_ocharges[i].value;
}
var val_ocharges=value_ocharges;
if(val_ocharges=="To Pay")
{
alert("pay");
}
if(val_ocharges=="COD")
{
alert("cod");
}
if ((val_ocharges!="COD") && (val_ocharges!="To Pay") )
{
alert("hi");
}
}
</script>
答案 3 :(得分:0)
首先,将您的value_ocharges
设置在for循环之上:
var value_ocharges = false;
然后,而不是:
if ((val_ocharges!="COD") && (val_ocharges!="To Pay") ) {
alert("hi");
}
在循环之外使用它:
if (!val_ocharges){
alert("hi");
}
基本上,这会检查是否在循环中的某处定义了val_ocharges
,如果不是,则会触发警报。