我在我的应用程序中使用 Cakephp 和 JQuery。 我已经使用
创建了表单<?php
echo $form->create('Result',array('action'=>"submit/$formid"));
foreach ($viewfields as $r):
echo $form->input($r['Attribute']['label'], array('id'=>$r['Attribute']['id'],'name'=>$r['Attribute']['label'],'type'=>'text'));
endforeach;
echo $form->end('submit');?>
这将创建一个带有 id 的表单,例如...ResultSubmit1Form,其中 1 是表单
当我单击提交按钮时,它会正确提交数据。 但我想添加 JQuery 验证,就像所有字段都不能为空。
我尝试了一些例子,但它不起作用。我该怎么做......请建议我......
编辑:
我尝试过
$("#ResultSubmit/$formidForm").submit(function(event){
event.preventDefault();
/* do validation of fields */
if($("#"+<?=$r['Attribute']['id'];?>).fieldValue()==""){alert("Fill in "+"<?=$r['Attribute']['label'];?>");
$("#"+<?=$r['Attribute']['id'];?>).focus();
}
});
但是没有任何作用,这根本没有进入事件..
最佳答案
更新响应...
您正在尝试将 PHP 与 Javascript 混合使用,但这是行不通的。以这一行为例:
$("#ResultSubmit/$formidForm")
您将其打印为纯文本 js 代码,即 $formidForm
不被理解为包含值的变量,它被处理为“美元符号 formidform”。如果您想打印 PHP 值,您必须执行以下操作:
$formidForm = "#userDetails";
$("<?php print $formidForm; ?>") /* $("#userDetails") */
现在它在<?php
内和?>
,您的服务器知道将该特定部分解释为 PHP,而不是纯文本。
至于其余的 js 代码,当您从网页复制/粘贴给查看器时,它会是什么样子?
原始回复...
您可以将检查绑定(bind)到表单的 .submit() 事件:
$("#myForm").submit(function(event){
event.preventDefault();
/* do validation of fields */
});
您可以从使用 Validation Plugin 中受益也是。
关于jquery - 通过提交按钮添加验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1073974/