2010-07-14 8 views
0

Je suis bloqué sur une question dans laquelle je dois faire une boîte de texte caché pour stocker une valeur.
Mais j'ai vu que JQuery est capable d'ajouter de la valeur à une boîte de texte cachée.
Je ne suis pas sûr quel est le meilleur moyen de cacher la valeur qui sera stockée dans la base de données.
S'il vous plaît consulter les codes ci-dessous:Dois-je utiliser JQuery pour ajouter de la valeur à une zone de texte masquée?

façon traditionnelle:

<input type="hidden" id="data[Test][quote]" value="hello" /> 

En utilisant JQuery:

$(document).ready(function(){ 
$("#data\\[Test\\]\\[quote\\]").val("hello"); 
});  
<input type="hidden" id="data[Test][quote]" /> 

S'il vous plaît conseiller.

+2

La question de base devrait être, pourquoi voulez-vous définir la valeur en utilisant javascript quand vous pouvez le faire de façon traditionnelle. Vous n'auriez besoin de le faire que si vous souhaitez définir une valeur d'exécution basée sur certains événements de la page. – simplyharsh

+0

Qu'essayez-vous d'accomplir? Pourquoi avez-vous besoin de le configurer avec JavaScript? Quelle "valeur" cherchez-vous à ajouter? –

Répondre

1
  1. À moins que le paramètre doit changer sur la volée, ne pas utiliser jQuery pour faire quelque chose déjà possible avec le vieux HTML brut.
  2. Ce n'est pas une zone de texte cachée ; c'est juste une étiquette pour inclure des données d'entrée sans rendre n'importe quel contrôle de forme sur le navigateur.
3

Si vous pouvez le faire sans JavaScript/jQuery, faites-le sans.

+0

Bonne réponse simple. Vous avez mon +1 au moins. mais les gens aiment la solution complexe même à des problèmes simples. – simplyharsh

1

Pas nécessairement, vous pouvez même utiliser javascript brut pour au moins:

window.onload = function(){ 
    var el = document.getElementById("data\\[Test\\]\\[quote\\]"); 
    el.value = 'Hello'; 
}; 
1

En utilisant jQuery vous n'avez pas besoin d'utiliser un champ masqué, utilisez jQuery s .data() méthode `.

$(document).ready(function(){ 
    $.data(document.body, 'data', 'hello'); 
    alert($.data(document.body, 'data')); 
}); 
Questions connexes