2015-10-18 128 views
0

我的警報消息在加載/提交記錄之前彈出窗口,所以如果用戶沒有輸入任何數據。它仍然彈出。我應該使用什麼額外的JavaScript功能用於我的警報框?提交後將顯示警報消息

這裏是我的代碼

function myFunction() { 
 
    alert("Adding Succesful!"); 
 
}
<label for="bName" class="control-label col-xs-4"><p class="left">Brand Name</p></label> 
 
<input name="bName" class="form-control req" required/> 
 

 
<button type="submit" class="btn btn-default bt" onclick="myFunction()" style="align:right;">ADD</button>

+0

如果你想顯示提醒*後*有事,那麼你就需要編寫代碼以響應該事件。如果表單正在通過AJAX提交,那麼您會在AJAX調用的響應處理程序中顯示警報。如果表單在瀏覽器級別提交,那麼您需要在下一頁顯示警報,而不是此警報。 – David

+0

您是否意味着當表單驗證失敗時您需要停止提交表單?如果是這樣,當表單驗證失敗時,將'return false;'添加到'myFunction'中。 – Sachin

+0

或至少「必須/」必須先出現在警報 – Vista

回答

1

嘗試使用:

<label for="bName" class="control-label col-xs-4"><p class="left">Brand Name</p></label> 
<input name="bName" class="form-control req" required/> 

<button type="submit" class="btn btn-default bt" onclick="return myFunction(this)" style="align:right;">ADD</button> 

(請注意,我改變的onclick到包括returnthis

並將其與JavaScript一起使用:

function myFunction(t) 
{ 
    if($(t).prev().val()) 
    { 
     alert('Adding Succesful!') 
     return true; 
    }else{ 
     return false; 
    } 
} 
1

使用HTML5有效性檢查來查看錶單是否有效。

var form = document.getElementById('f'); 
 

 
function myFunction() { 
 
    if (form.checkValidity()) { 
 
    alert("Adding Succesful!"); 
 
    } 
 
}
<form id="f"> 
 
    <label for="bName" class="control-label col-xs-4"> 
 
    <p class="left">Brand Name</p> 
 
    </label> 
 
    <input name="bName" class="form-control req" required/> 
 

 
    <button type="submit" class="btn btn-default bt" onclick="myFunction()" style="align:right;">ADD</button> 
 
</form>

+1

警報消息不會彈出嗎? :( – Vista

+0

它彈出,如果它是有效的 – MinusFour

+1

你可能不會看到警報工作,因爲SO用來顯示片段的'sandbox'屬性,但它在iframe之外工作(這只是爲了演示目的)。就像Firefox不關心'sandbox'屬性一樣'allow-modals'沒有設置,它確實顯示了警報。 – MinusFour