[英]JS radio validation from a PHP $_POST form
我有一个表格,其中有可变数量的单选按钮:
<input id='create' name="post[]" type="radio" value="<? echo $newphrase; ?>" />
我希望对其进行验证,以确保至少选择了一个按钮。 我有以下代码:
function valbutton(thisform) {
myOption = -1;
for (i=thisform.post.length-1; i > -1; i--) {
if (thisform.post[i].checked) {
myOption = i; i = -1;
}
}
if (myOption == -1) {
alert("You must select a radio button");
return false;
}
alert("You selected button number " + myOption
+ " which has a value of "
+ thisform.myradiobutton[myOption].value);
thisform.submit(); // this line submits the form after validation
}
这对验证有效,但是没有设置$ _POST值。 理论上这行:
for (i=thisform.post.length-1; i > -1; i--) {
if (thisform.post[i].checked) {
应该显示为:
for (i=thisform.post[].length-1; i > -1; i--) {
if (thisform.post[][i].checked) {
但这显然是行不通的,因为它会出错。
解决了使用Ed Daniels将单选按钮设置为“ CHECKED”的想法。 即使按钮的数量可变,它也只会“检查”最后一个按钮,对于我来说这已经足够了。
我不确定为什么您要对一组单选按钮使用数组语法(name =“ post []”)。 您只会在服务器上获得一个值,即选中的单选按钮的值。
(对于一堆复选框,可以选中任何组合,这是有道理的。)
单选按钮中的name =“ post”,PHP中的$ _POST ['post']应该可以正常工作。 我怀疑它也会解决您的Javascript问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.