如何将IF条件与AND条件和NOT操作符在javascript
How to put IF CONDITION with an AND CONDITION and the NOT OPERATOR in javascript?
<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>
现在在函数中,我正在检查选中的单选按钮的值。如果用户选择Pay单选按钮,那么在单击提交按钮时,它会提醒用户付款。当用户选择COD单选按钮时,然后在提交时提醒COD。
我想要的是,当用户没有选择什么,点击提交按钮,然后它应该提醒用户。不幸的是,它没有检查条件。有人能帮帮我吗?
您可以这样尝试:
<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>
你的问题是这个顶部附近的条件:
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>
试试这个,
else if ((val_ocharges =="")
{
alert("hi");
}
希望这有帮助!!
首先,将value_ocharges
设置在for循环的上方:
var value_ocharges = false;
然后,而不是:
if ((val_ocharges!="COD") && (val_ocharges!="To Pay") ) {
alert("hi");
}
在循环外使用:
if (!val_ocharges){
alert("hi");
}
基本上,这检查是否在循环中定义了val_ocharges
,如果没有,则触发警报。
相关文章:
- 通过js在新选项卡中有条件地打开url
- 我已经创建了一个jquery转盘,并使用if条件来运行和停止转盘
- jQuery-有条件地附加HTML
- 根据某些条件在视图之间切换
- 如何做到这一点,使代码在不传递条件后执行函数
- jQuery is not loaded
- AngularJS JSON not arriving php
- 有条件更新d3.js力图中节点的最佳方法
- javascript中的布尔条件
- $rootScope not working
- reactRedux is not defined
- Woocommerce产品选项有条件
- 基于两个条件退出While循环
- jQuery document.ready not working
- 有条件地在选项标记中应用布尔属性
- 使用javascript以HTML形式验证条件
- 查询中包含NOT Equal的水线ORM(sails.js)条件
- 如果条件在 Javascript 中带有 NOT 运算符
- 在javascript中是否有明确的方法来做AND NOT条件列表?
- 如何将IF条件与AND条件和NOT操作符在javascript