簡體   English   中英

通過提交按鈕添加驗證

[英]Adding validations via submit button

我在我的應用程序中使用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();
     }
  });

但沒有任何作用,這根本沒有進入事件..

更新回復......

你試圖將PHP與Javascript混合,這是行不通的。 以這一行為例:

$("#ResultSubmit/$formidForm")

你將它打印為純文本js-code,這意味着$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 */
});

您也可以從使用驗證插件中受益。

我正在使用jquery 驗證插件 ,它的文檔也很好。 它對我來說就像魅力一樣

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM