必须是语法错误,因为我甚至无法获得第一个警报
我的提交按钮
input type="submit" name="payOnline" id="payOnline" value="Pay Online" style="color: red; font- weight: bold; width:100px; height:40px;"/>
jQuery的:
<script>
$("#payOnline").click(function() {
alert("submit button clicked on");
if ($("input:radio[name='epackage']:checked").val() <0 ) {
alert('Nothing is checked!');
return false;
event.preventDefault();
}
else {
alert('One of the radio buttons is checked!');
}
});
</script>
答案 0 :(得分:2)
您想将.val更改为.length。这将返回值0或1.然后将if更改为'&lt; = 0'...
<form>
<input type="radio" name="epackage" value="1">option 1<br>
<input type="radio" name="epackage" value="2">option 2
<input type="submit" name="payOnline" id="payOnline" value="Pay Online" style="color: red; font-weight: bold; width:100px; height:40px;"/>
</form>
$("#payOnline").submit(function() {
alert("submit button clicked on");
if ($("input:radio[name='epackage']:checked").length <=0 ) {
alert('Nothing is checked!');
return false;
} else {
alert('One of the radio buttons is checked!');
}
});
答案 1 :(得分:1)
这里没有语法错误。
一些变化:
1)将event
传递给您的点击功能
2)将e.preventDefault()
移出if
条件。
3)将您的代码包装在DOM就绪处理程序中:
$(function() {
$("#payOnline").click(function(event) {
event.preventDefault();
alert("submit button clicked on");
if ($("input:radio[name='epackage']:checked").val() <0 ) {
alert('Nothing is checked!');
return false;
}
else {
alert('One of the radio buttons is checked!');
}
});
});
答案 2 :(得分:0)
1。)确保你的一个脚本标签中有jQuery(这可能是显而易见的,但人们永远都不知道),例如。
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
2.)检查你是否有“&lt;”在您的输入标记前面,您的代码不提供它:
<input type="submit" name="payOnline" id="payOnline" value="Pay Online" style="color: red; font- weight: bold; width:100px; height:40px;"/>**
有了这两个问题,你的代码实际上对我来说运行得很好!警报出现了。