2012-04-15 3 views
0

私は欲しくないフィールド(件名)を含んでいて、削除したい素敵な小さなjQueryメーラースクリプトをインストールしました。まず、htmlを削除して検証を忘れてエラーが発生しました。次に、件名(<select>)が選択されているかどうかを確認するスクリプトの部分を削除しようとしましたが、エラーが発生し、今すぐにヘルプを求めています。ここではスクリプトは次のとおりです。関数を削除するためにjQueryスクリプトを修正します(それを壊さずに...)

HTML:

<form id="contact-form" name="contact-form" method="post" action="submit.php"> 
     <table width="100%" border="0" cellspacing="0" cellpadding="5"> 
     <tr> 
      <td width="25%" style="text-align:right;"><label for="name">Name</label></td> 
      <td width="65%" style="text-align:left;"><input type="text" class="validate[required,custom[onlyLetter]]" name="name" id="name" value="<?=$_SESSION['post']['name']?>" /></td> 
      <td width="10%" id="errOffset" style="text-align:right;">&nbsp;</td> 
     </tr> 
     <tr> 
      <td style="text-align:right;"><label for="email">Email</label></td> 
      <td><input type="text" class="validate[required,custom[email]]" name="email" id="email" value="<?=$_SESSION['post']['email']?>" /></td> 
      <td>&nbsp;</td> 
     </tr> 
     <tr> 
      <td><label for="subject">Subject</label></td> 
      <td><select name="subject" id="subject"> 
      <option value="" selected="selected"> - Choose -</option> 
      <option value="Question">Question</option> 
      <option value="Business proposal">Business proposal</option> 
      <option value="Advertisement">Advertising</option> 
      <option value="Complaint">Complaint</option> 
      </select>   </td> 
      <td>&nbsp;</td> 
     </tr> 
     <tr> 
      <td valign="top" style="text-align:right;"><label for="message">Message</label></td> 
      <td><textarea name="message" id="message" class="validate[required]" cols="35" rows="5"><?=$_SESSION['post']['message']?></textarea></td> 
      <td valign="top">&nbsp;</td> 
     </tr> 
     <tr> 
      <td><label for="captcha"><?=$_SESSION['n1']?> + <?=$_SESSION['n2']?> =</label></td> 
      <td><input type="text" class="validate[required,custom[onlyNumber]]" name="captcha" id="captcha" /></td> 
      <td valign="top">&nbsp;</td> 
     </tr> 
     <tr> 
      <td valign="top">&nbsp;</td> 
      <td colspan="2"><input type="submit" name="button" id="button" value="Submit" /> 
      <input type="reset" name="button2" id="button2" value="Reset" /> 

      <?=$str?>   <img id="loading" src="img/ajax-load.gif" width="16" height="16" alt="loading" /></td> 
     </tr> 
     </table> 
     </form> 

そして私は「Subjectの検証機能を削除したい場所からスクリプト:

$(document).ready(function(){ 
    $('#contact-form').jqTransform(); 

    $("button").click(function(){ 

     $(".formError").hide(); 

    }); 

    var use_ajax=true; 
    $.validationEngine.settings={}; 

    $("#contact-form").validationEngine({ 
     inlineValidation: false, 
     promptPosition: "centerRight", 
     success : function(){use_ajax=true}, 
     failure : function(){use_ajax=false;} 
    }) 

    $("#contact-form").submit(function(e){ 

     if(!$('#subject').val().length) 
      { 
      $.validationEngine.buildPrompt(".jqTransformSelectWrapper","* This field is required","error") 
      return false; 
     } 

      if(use_ajax) 
      { 
       $('#loading').css('visibility','visible'); 
       $.post('submit.php',$(this).serialize()+'&ajax=1', 

        function(data){ 
         if(parseInt(data)==-1) 
          $.validationEngine.buildPrompt("#captcha","* Wrong verification number!","error"); 

         else 
         { 
          $("#contact-form").hide('slow').after('<h1>Thank you!</h1>'); 
         } 

         $('#loading').css('visibility','hidden'); 
        } 

       ); 
      } 
      e.preventDefault(); 
    }) 

}); 

私が示す領域を削除しようとしたと思います上記のコードでは、このスクリプトには「あなたは人間ですか?」という単純な数学関数があり、コードを削除した後、単純な数学の答えが間違っていたという警告が表示されました。あなたがここに表示されているものに基づいて

+0

私は、それとも何かここで切断されていますか? JSファイルをjsfiddle.netに投稿して、それにリンクすることはできますか? – harryfino

+0

@harryfino - これは、私が削除したいものを削除するために必要な唯一のスクリプトだと疑われています:http://jsfiddle.net/Tm9Nk/ – Adam

+0

@jli - うん、私はそれをたくさん取得します。それは、答えが無かったか、答えがコメントの形で来たか、私が聞いたたくさんの質問があります。投稿されたものを使うことができたり、答えの形で正しい方向に指摘されたりすることもできます。 – Adam

答えて

0

、あなたがする必要がある必要があり、すべてが対象のテストのためのコードブロックを削除します:

if(!$('#subject').val().length) { 
    $.validationEngine.buildPrompt(".jqTransformSelectWrapper","* This field is required","error") 
    return false; 
} 

あなたはそれはおそらくですが、それを行うの後にあなたがエラーを取得している場合サーバ側でもう少し検証があるからです。 submit.phpファイルがなければ、私たちが知ることは不可能です。しかし、あなたの問題は、ファイルがdata: -1を返しているし、このブロックで捕まることのようだ:

function(data) { 
    if (parseInt(data) == -1) 
     $.validationEngine.buildPrompt("#captcha","* Wrong verification number!","error"); 

あなたが提出したコードを投稿した場合、我々は、おそらくより多くのお手伝いをすることができます。

関連する問題