Php 动态表单名称的验证
发布时间:2022-10-15 11:15:37 所属栏目:PHP教程 来源:
导读: Php 动态表单名称的验证
php
Php 动态表单名称的验证,php,javascript,Php,Javascript,因此,我在PHP页面中使用以下Javascript函数进行表单验证include ($_SERVER['DOCUMENT_ROOT'] . &#
php
Php 动态表单名称的验证,php,javascript,Php,Javascript,因此,我在PHP页面中使用以下Javascript函数进行表单验证include ($_SERVER['DOCUMENT_ROOT'] . &#
Php 动态表单名称的验证 php Php 动态表单名称的验证,php,javascript,Php,Javascript,因此,我在PHP页面中使用以下Javascript函数进行表单验证include ($_SERVER['DOCUMENT_ROOT'] . '/validators.php');echo "因此,我在PHP页面中使用以下Javascript函数进行表单验证 include ($_SERVER['DOCUMENT_ROOT'] . '/validators.php'); echo "\n"; echo "\n"; 但是由于我的表单在名称中使用了$variable,我不知道如何将它与我的验证器一起使用。这是上述验证器功能的扩展部分: function validate_numeric($formname, $fieldname, $fielddesc){ echo "var checkOK = '0123456789';\n"; echo "var checkStr = $formname.$fieldname.value;\n"; echo "var allValid = true;\n"; echo "var validGroups = true;\n"; echo "var decPoints = 0;\n"; echo "var allNum = '';\n"; echo "for (i = 0; i < checkStr.length; i++)\n"; echo "{\n"; echo "ch = checkStr.charAt(i);\n"; echo "for (j = 0; j < checkOK.length; j++)\n"; echo "if (ch == checkOK.charAt(j))\n"; echo "break;\n"; echo "if (j == checkOK.length)\n"; echo "{\n"; echo "allValid = false;\n"; echo "break;\n"; echo "}\n"; echo "allNum += ch;\n"; echo "}\n"; echo "if (!allValid)\n"; echo "{\n"; echo "alert('Please enter only digit characters in the $fielddesc field.');\n"; echo "$formname.$fieldname.focus();\n"; echo "return (false);\n"; echo "}\n"; return $x; } 任何建议都会大有帮助。如果需要更多信息,请告诉我,我会尽快提供 编辑#1 因此,我尝试了您所说的使用dbl引号的方法,这就是我在页面上看到的源代码: var checkOK = '0123456789'; var checkStr = theForm.txtQuantity_.value; var allValid = true; var validGroups = true; var decPoints = 0; var allNum = ''; for (i = 0; i < checkStr.length; i++) { ch = checkStr.charAt(i); for (j = 0; j < checkOK.length; j++) if (ch == checkOK.charAt(j)) break; if (j == checkOK.length) { allValid = false; break; } allNum += ch; } if (!allValid) { alert('Please enter only digit characters in the Quantity field.'); theForm.txtQuantity_.focus(); return (false); } var checkOK='0123456789'; var checkStr=格式txtQuantity_uu2;值; var allValid=true; var validGroups=true; var decPoints=0; var-allNum=''; 对于(i=0;i txtQuantity\后面不应该有某种值吗?在支票上 我在这个页面上遇到了太多麻烦,我真的认为它只是讨厌我,并且尽一切可能不工作。 validate\u numeric('theForm','txtQuantity.$DeptID','Quantity')将按字面意思传递 txtQuantity\uu$DeptID 。单引号不能解释变量 您必须将其至少放在双引号中,如下所示: validate_numeric('theForm','txtQuantity_u$DeptID','Quantity') 在某些编辑器中,如果你这样做,它会更加清晰 validate_numeric('theForm','txtQuantity{$DeptID}','Quantity') 我还注意到您的函数一直在 echo ing。确保有一个字符串在结尾处返回,这样您就可以执行echo validate\u numeric 而不是将它放在那里。输出的函数很难移动/重构 $x 在您返回时是完全未定义的,并且可能会在日志中填充通知 好吧,所以我尝试了您所说的PHP表单验证,有{}和没有{}的情况,但仍然不起作用。我编辑我的问题是为了向您展示我在javascript的页面源代码中得到了什么。(在编辑#1下)调用函数时,是否确定定义了 $DeptID 这就是为什么您也会看到一个空字符串。如果您没有看到关于 $x 未定义的通知,您应该更改 PHP 设置,以便在调试时将它们吐出。 function validate_numeric($formname, $fieldname, $fielddesc){ echo "var checkOK = '0123456789';\n"; echo "var checkStr = $formname.$fieldname.value;\n"; echo "var allValid = true;\n"; echo "var validGroups = true;\n"; echo "var decPoints = 0;\n"; echo "var allNum = '';\n"; echo "for (i = 0; i < checkStr.length; i++)\n"; echo "{\n"; echo "ch = checkStr.charAt(i);\n"; echo "for (j = 0; j < checkOK.length; j++)\n"; echo "if (ch == checkOK.charAt(j))\n"; echo "break;\n"; echo "if (j == checkOK.length)\n"; echo "{\n"; echo "allValid = false;\n"; echo "break;\n"; echo "}\n"; echo "allNum += ch;\n"; echo "}\n"; echo "if (!allValid)\n"; echo "{\n"; echo "alert('Please enter only digit characters in the $fielddesc field.');\n"; echo "$formname.$fieldname.focus();\n"; echo "return (false);\n"; echo "}\n"; return $x; } validate_numeric('theForm', 'txtQuantity_$DeptID', 'Quantity'); var checkOK = '0123456789'; var checkStr = theForm.txtQuantity_.value; var allValid = true; var validGroups = true; var decPoints = 0; var allNum = ''; for (i = 0; i < checkStr.length; i++) { ch = checkStr.charAt(i); for (j = 0; j < checkOK.length; j++) if (ch == checkOK.charAt(j)) break; if (j == checkOK.length) { allValid = false; break; } allNum += ch; } if (!allValid) { alert('Please enter only digit characters in the Quantity field.'); theForm.txtQuantity_.focus(); return (false); } (编辑:开发网_新乡站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐