簡體   English   中英

Kendo按鈕在點擊時調用javascript函數

[英]Kendo button calling a javascript function on click

我有這樣的HTML輸入:

<input type="submit" name="saveForm" value="Save" onclick="return validateForm()"/>

這是單擊按鈕時調用的validateForm函數:

function validateForm() {
    if (someErrorCondition) {
        alert("error");
        return false;
    }
    reallySubmitForm();
}

我想用Kendo Button替換這個按鈕,我這樣做是這樣的:

@(Html.Kendo().Button()
    .Name("save")
    .HtmlAttributes( new {type = "submit"})
    .ImageUrl(Url.Content("~/Images/save.png"))
    .Events(e => e.Click("return validateForm"))    <---------  here's the problem
    .Content("Save")
)

問題是,如果我有

.Events(e => e.Click("return validateForm"))

按鈕顯示不正確:“ return”一詞將其弄亂了。 如果我有這個

.Events(e => e.Click("validateForm"))

正確渲染並調用該函數。 但是,單擊后,按鈕無論如何都會提交表單,而無需進行驗證。

如何使用此Kendo Button實現以前的行為?

嘗試使用e.preventDefault()而不是返回false來停止Submit事件。 無論如何,這是推薦的方式。 :)

我已經嘗試過只有“ 返回 ”,它的工作原理。 但是使用e.preventDefault()並不能解決我的問題。

嘗試以下代碼:

@(Html.Kendo().Button()
.Name("save")
.HtmlAttributes( new {type = "submit"})
.ImageUrl(Url.Content("~/Images/save.png"))
.Events(e => e.Click("validateForm"))
.Content("Save"))

function validateForm(e) {
  if (someErrorCondition) {
    alert("error");
    e.preventDefault();
  }
 else {
      reallySubmitForm();
    }
}

暫無
暫無

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

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