2016-05-23 90 views
0

我是新來的JavaScript和我有功能召回的問題,請參見圖像附加刪除「onclick」事件的功能?

Image1

但我再次點擊應用按鈕返回像

image 2

和重複。這需要停止我有設置超時功能,但事情是它不工作。 所以這是可能的銷燬RegisterCapcha()和調用RegisterCapcha()在應用按鈕上每onclick?

這種形式顯示在應用按鈕點擊

<form method="POST" id="careersForm" action="../php/emailsend.php enctype="multipart/form-data" > 
     <tr> 
     <td>First Name </td> 
     <td><input type="TextBox" name="First_Name" class="applytext" requiredfield= "true" id="First_Name"></td> 
     </tr> 
     <tr> 
     <td>Last Name </td> 
     <td><input type="TextBox" name="Last_Name" class="applytext" required id="Last_Name"></td> 
     </tr> 
     <tr> 
     <td>E-mail </td> 
     <td><input type="email" id="emailid" name="email" class="applytext" required onblur="validateEmail(this)" /> 
     <label id="valemailid" style="color:red;"></label> 
     </td> 
     </tr> 
     <tr> 
     <td>Phone</td> 
     <td><input type="text" id="Phone_No" name="Phone_No_No" class="applytext" placeholder="111-111-1111"; pattern="^[0-9]{3}[0-9]{3}[0-9]{4}$" required onfocus="this.placeholder=''" onblur="if(this.placeholder == '') { this.placeholder='(1-111-111-1111)'}" onkeypress="return isNumber(event)"/><span id="Phone_NoError" style="color:lightgray"><span></td> 
     </tr> 
     <tr> 
     <td>Attachment </td> 
     <td><input type="file" id="fileUpload" name="attachment" maxlength="50" class="applytext" style="color: rgb(51, 51, 51);"><br /> 
     <span id="lblError" style="color: red;"></span> 
     </td> 
     </tr> 
     <tr> 
       <td colspan="2" class="applytable" > 
        <div class="editor-field"> 
         <p> 
          <label> 
           Enter the text shown below: 
           <input type="text" id="captchaText" onkeyup="javascript:EnableApply();" /></label></p> 
         <p id="captcha"> 
         </p> 
        </div> 
       </td> 
      </tr> 
     <tr> 
     <td colspan="2"> 
     <input type="submit" id="submit" name="button" disabled="disabled" class="send-resume" value="SEND" onclick="return ValidateExtension()" style="margin-left:24%;"> 
     <input type="reset" value="RESET" onclick="clearForm()" style="margin-left:8%"> 
     </td> 
     </tr> 
     </form> 

JS的驗證碼。在提前:) <span id='close' onclick="function() { setTimeout(function() { RegisterCapcha(); }, 1000) } HideContent('job-apply'); return false;"></span>

感謝

<script type="text/javascript"> 

    function EnableApply() { 
     var OriginalCaptcha = $('#careersForm').data('captchaText'); 
     var userCapcha = $('#captchaText').val(); 

     if (OriginalCaptcha == userCapcha) { 

      $('#submit').removeAttr('disabled'); 
     } 
     else { 
      $('#submit').attr('disabled', 'disabled'); 

     } 
    } 

    function RegisterCapcha() { 
     $("#careersForm").clientSideCaptcha({ 
      input: "#captchaText", 
      display: "#captcha", 
      pass: function() { alert("Passed!"); return false; }, 
      fail: function() { alert("Failed!"); return false; } 
     }); 
    } 
</script> 

我已經設置超時功能

+0

您已經在onclick中創建了一個匿名函數,但您永遠不會調用它。 – jcubic

+0

你能提一下嗎? – Rakyir

回答

0

你不應該使用客戶端驗證碼...但是回答你的問題

你可以試試下面

function RegisterCapcha() { 
     $("#captcha").html(''); //reset the generated captcha first 
     $("#captchaText").val(''); 
     $("#careersForm").clientSideCaptcha({ 
      input: "#captchaText", 
      display: "#captcha", 
      pass: function() { alert("Passed!"); return false; }, 
      fail: function() { alert("Failed!"); return false; } 
     }); 
    } 
+0

感謝兄弟它的作品..你能解釋我爲什麼我的代碼不工作? @Patel – Rakyir

+0

registerCaptcha函數正在加載由您的clientSideCaptcha插件生成的一些TABLE元素。調用相同的功能是添加新的驗證碼,而不是替換之前的驗證碼...所以我們只是清除舊的HTML生成的購買插件,然後該函數將像第一次呼叫 – Patel

+0

感謝您的解釋。需要一點幫助......在調用這個registerCaptcha時有麻煩。這是可能的加載此registerCaptcha inload? @Patel – Rakyir