2012-04-15 24 views
0

我已經安裝了一個不錯的小jQuery郵件程序腳本,其中包含一個必填字段(Subject)我不想要,並且希望將其刪除。首先我簡單地刪除了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> 

而且從我想在哪裏刪除「主題」驗證功能的腳本:

$(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 2012-04-15 14:40:23

+0

@harryfino - 我留下來懷疑這是刪除我想要刪除的內容的唯一腳本:http://jsfiddle.net/Tm9Nk/ – Adam 2012-04-15 14:50:09

+0

@jli - 是的,我知道了很多。問題是,我提出了很多問題,但沒有得到答案,或者答案是以評論的形式出現。如果我可以使用發佈的內容,甚至以答案的形式指向正確的方向,我接受。 – Adam 2012-04-15 15:21:51

回答

0

基於你在這裏顯示什麼,你應該需要做的就是刪除代碼塊目標測試:

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

如果你這樣做之後,你得到一個錯誤,它可能因爲在服務器端有更多的驗證。沒有你的文件,我們不可能知道。但是,您的問題似乎是,該文件返回data: -1並在此塊被抓到:

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

如果您發佈提交的代碼,我們或許可以幫助你。

相關問題