1

テキストボックスのテキストが空の場合にクライアントがbtnsaveをクリックすると起動するこのJavaスクリプト検証関数があり、メッセージボックスが表示され、フォーカスがテキストボックスにありますが、検証が失敗する AM 何かが足りない。ここに私のコードがあります

function validate() 
  {
      var itemscanned;
      itemscanned = document.getElementById('txtItemCode');
      if (itemscanned.value == '') 
      {
          alert("Plz Enter Item Code");
          return false;
         itemscanned.focus
      }
      else 
      {
          alert(itemscanned.value);
      }
  }
4

4 に答える 4

5

このように関数名の前に return を書きます

   <asp:Button ID="btnSave" runat="server" Text="Save" CssClass="buttons"  OnClientClick="return validate()"/>
于 2012-12-28T13:25:43.327 に答える
3

これが ASP.NET WebForms アプリケーションの場合は、Validator コントロールの使用を検討する必要があります。それらは、あなたが求めているすべてのクライアント側のロジックを処理します。

MVC を使用している場合は、クライアント側でモデルの検証を行う方法もあります。

于 2012-12-28T13:25:53.617 に答える
2

asp.net ボタン コントロールの場合はこれを追加します

OnClientClick = "return validate();"

それがhtmlボタンの場合、これを追加します

onclick = "return validate();"
于 2012-12-28T13:26:09.047 に答える
0

Îtは、イベントの処理方法に属します。aspマークアップとjavascriptイベントのバインディングを表示してください。

javascriptを使用してイベントの伝播を停止することができます。

event.stopPropagation();

ここでそれについて読んでください:https ://developer.mozilla.org/en-US/docs/DOM/event.stopPropagation

注:検証関数のパラメーターとしてイベントを取得する必要があります。

function validate(event) {

    var itemscanned;    
    itemscanned = document.getElementById('txtItemCode');
    if (itemscanned.value == '') {
        alert("Plz Enter Item Code");
        event.stopPropagation();
        itemscanned.focus
        return false;
    }
    else
    {
        alert(itemscanned.value);
    }
}​

お役に立てれば。asp.netはそれ自体で多くのjavascriptを生成するため(asp.netクライアント検証の場合はgoogle)、検証関数をボタンにバインドする方法は非常に重要です。

于 2012-12-28T13:30:19.013 に答える