繁体   English   中英

通过PHP $ _POST表单进行JS无线电验证

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM