我在我的应用程序中使用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是formid
当我点击提交按钮时,它会正确提交数据。 但是我想添加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();
}
});
但没有任何作用,这根本没有进入事件......
答案 0 :(得分:3)
你试图将PHP与Javascript混合,这是行不通的。以这一行为例:
$("#ResultSubmit/$formidForm")
您将其打印为纯文本js代码,意味着$formidForm
不被理解为包含值的变量,它被处理为“dollar-sign formidform”。如果你想打印PHP值,你必须做类似的事情:
$formidForm = "#userDetails";
$("<?php print $formidForm; ?>") /* $("#userDetails") */
现在它在<?php
和?>
之内,您的服务器知道将该特定部分解释为PHP,而不是纯文本。
至于你的其他js代码,当你从浏览器的网页上复制/粘贴它时会是什么样子?
您可以将检查绑定到表单的.submit()事件:
$("#myForm").submit(function(event){
event.preventDefault();
/* do validation of fields */
});
您也可以从使用Validation Plugin中受益。
答案 1 :(得分:1)
我正在使用jquery validation plugin,其documentation也很好。它对我来说就像魅力一样