2011-12-09 4 views
0

Problème: Il existe 4 zones de texte. Si l'utilisateur ne souhaite pas tous les remplir, il devrait afficher "0" et être enregistré. Par exemple: Je ne remplis que deux zones de texte sur les quatre. J'ai frappé Enregistrer. Il devrait enregistrer automatiquement les valeurs par défaut ("0") pour ces deux zones de texte vides.Valeurs de TextBox par défaut

Voici le code (javascript):

C'est la zone de texte:

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

Ceci est le bouton d'enregistrement:

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

C'est la fonction Valider():

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

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

Vous devriez le faire sur le backend. Si aucune valeur n'est passée, enregistrez une valeur par défaut. –

+0

Mais il ne sera pas enregistré sauf si une valeur est entrée dans le champ. – Ish

+0

Vous ne pouviez pas simplement définir l'attribut de valeur de l'élément sur "0"? document.getElementById ('<% = left.ClientID%>'). value = "0"; –

Répondre

1

Exécuter un ba Ck fin de vérifier les zones de texte.

string valueToBeSaved="0"; 

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

Vous pourriez même mettre la logique dans une fonction comme ça.

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

De cette façon, tout ce que vous avez à faire est:

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

S'il vous plaît garder à l'esprit c'est un petit exemple. Si vous postez votre code, je pourrais avoir une meilleure suggestion. De plus, gardez à l'esprit que vous devrez également effectuer une validation sur le backend.

JavaScript peut être désactivé sur le navigateur de l'utilisateur et ils finiront par passer une valeur inattendue.