簡體   English   中英

表單onsubmit不執行功能

[英]form onsubmit doesn't execute function

我創建了這個簡單的表單設置,我希望驗證器在接受表單之前檢查字段。 但無論我使用按鈕還是輸入,我似乎無法調用我的validateForm()函數。 有一次我讓它工作,但在上傳到我的服務器,然后使用git拉它,它完全停止再次調用該功能。

我非常困惑,至於我的眼睛,這應該有效。 針對此問題是否有任何替代方案,解決方案或解決方法?

 function validateForm(e) { if (document.reg_form.reg_code.value == "unique code value") { return true; } swal({ type: 'error', title: 'Du har ikke indtastet en gyldig registreringskode.', showCancelButton: false, confirmButtonText: 'OK', confirmButtonColor: '#00a651', }); e.preventDefault(); return false; } 
 <form action="<?= get_home_url(); ?>/create-profile/" method="post" onsubmit="validateForm(event)" name="reg_form" id="reg_form" class="form"> <div class="form__field"> <label for="" class="form__label">Registreringskode</label> <input type="text" class="form__input" required placeholder="Indtast din tilsendte kode" name="user[reg_code]" id="registration" /> <p class="hidden" id="code_warning">Den indsatte kampagnekode findes ikke!</p> </div> <input type="submit" value="Opret bruger" form="reg_form" class="btn btn--green btn--large btn--block"> </form> 

好像你沒有在onsubmit返回任何內容。

它應該是onsubmit="return validateForm(event)"

嘗試

<form action="<?= get_home_url(); ?>/create-profile/" method="post" onsubmit="return validateForm(event)" name="reg_form" id="reg_form" class="form">

...
</form>

更新:我剛剛注意到您正在訪問表單輸入錯誤並在控制台中拋出錯誤。

function validateForm(e) {
  if (document.reg_form['user[reg_code]'].value == "unique code value") {
}

更好的方法是使用其id直接訪問輸入。

 function validateForm(e) { if (document.getElementById('registration').value == "unique code value") { return true; } alert("Validation failed"); e.preventDefault(); return false; } 
 <form action="" method="post" onsubmit="return validateForm(event)" name="reg_form" id="reg_form" class="form"> <div class="form__field"> <label for="" class="form__label">Registreringskode</label> <input type="text" class="form__input" required placeholder="Indtast din tilsendte kode" name="user[reg_code]" id="registration" /> <p class="hidden" id="code_warning">Den indsatte kampagnekode findes ikke!</p> </div> <input type="submit" value="Opret bruger" form="reg_form" class="btn btn--green btn--large btn--block"> </form> 

羅賓C塞繆爾是對的,唯一可疑的是該代碼缺少回報。 但是,當你談到上傳到服務器並檢出...你確定你沒有忘記在git中添加一些文件嗎? 可能缺少帶有validateForm的文件,或者帶有swal函數的文件(如果提交處理程序中有錯誤,如缺少函數,javascript將失敗,瀏覽器將提交表單。)

......等一下 還有一件事。 嘗試

swal({
    type: 'error',
    title: 'Du har ikke indtastet en gyldig registreringskode.',
    showCancelButton: false,
    confirmButtonText: 'OK',
    confirmButtonColor: '#00a651'
  });
  • 注意最后一個字段后丟失的逗號。

暫無
暫無

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

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