2011-12-09 27 views
0

問題: 4つのテキストボックスがあります。ユーザーがすべてを埋めることを望まない場合は、「0」と表示され、保存されます。デフォルトのテキストボックス値

例: 4つのテキストボックスに2つのテキストボックスのみを入力します。私はセーブを押す。 2つの空のテキストボックスのデフォルト値( "0")が自動的に保存されます。ここで

コード(ジャバスクリプト)です:

これは、テキストボックスです:

<td width="20%"> 
asp:TextBox ID="left" runat="server"></asp:TextBox> 
px 
        </td> 

これは、保存ボタンを次のとおりです。

<asp:Button ID="save" Text="Save" 
          OnClick="btn_save_click" OnClientClick="return Validate();" runat="server"/> 

これは、検証()関数である。

function Validate() { 
     var value5 = document.getElementById('<%=left.ClientID%>').value; 

      if (value5 == '') { 
       alert("Please enter the missing fields"); 
       return false; 
      } 
} 
+0

これはバックエンドで行う必要があります。値が渡されない場合、デフォルト値をいくつか保存します。 –

+0

フィールドに値が入力されていなければ保存されません。 – Ish

+0

要素のvalue属性を "0"に設定できませんでしたか? document.getElementById( '<%= left.ClientID%>')。value = "0"; –

答えて

1

baを実行するテキストボックスのck終了チェック。

string valueToBeSaved="0"; 

    if(!String.IsNullOrEmpty(txtBox.Text)) 
    { 
     valueToBeSaved = txtBox.Text; 
    } 

ロジックをこのような関数に入れることもできます。

public string ChecTextBoxValue(TextBox textBox) 
    { 
     string valueToBeSaved="0"; 
     if(!String.IsNullOrEmpty(textBox.Text)) 
     { 
      valueToBeSaved = textBox.Text; 
     } 
     return valueToBeSaved; 
    } 

この方法ですべてを行う必要がある:

sqlCommand.Parameters.Add("@yourParam", ChecTextBoxValue(yourTextBox)); 

これは小さな一例ですのでご注意下さい。コードを投稿すると、私はおそらくより良い提案をするかもしれません。

また、バックエンドでも検証を実行する必要があることに注意してください。 JavaScriptがユーザーのブラウザでオフになっている可能性があり、予期しない値を渡すことになります。

関連する問題