2010-07-22 11 views
2

Quel est un moyen courant de transmettre des données pour les champs de formule, pour spécifier un quantificateur. Je ferais actuellement comme suit:où passer la quantification des valeurs de données pour les champs de formule?

<input type="text" name="myfield" class="inputfieldstyle quantified" id="q_12" value="foo" /> 

où q_12 est générique.

Mais certains problèmes inhérents à l'approche:

  • si je veux donner un identifiant pour certains js/raison css?
  • q_12 n'est pas facile à lire avec js: var quant = parseInt(element.id.split('_').pop())
  • id
  • est pas fait pour passer des valeurs

Comment dois-je gérer cela? Y a-t-il un moyen commun? Y a-t-il un moyen suggéré par w3c?

Répondre

2

Vous pouvez étendre l'idée de champs cachés de Guillaume Lebourgeois. Si vous êtes inquiet d'avoir deux entrées pour chacun, vous pouvez toujours adopter l'approche de l'attribut « Data- » comme indiqué dans le lien suivant: http://ejohn.org/blog/html-5-data-attributes/

<input type="hidden" name="myname" id="my_id" 
     data-myData1="somedata" data-myData2="somemoredata" value="" > 

puis utilisez getAttribute pour renvoyer la valeur (http://www.devguru.com/technologies/javascript/17457.asp):

document.getElementbyId("my_id").getAttribute("data-myData1")  
document.getElementbyId("my_id").getAttribute("data-myData2") 

Ou si vous utilisez jQuery:

$("#my_id").attr("data-myData1")  

Bien sûr, vous devez rouler cette place dans la valeur avant de traverser les pages, mais c'est toujours une possibilité.

+0

c'est cool! iLike - wow html5 ... – helle

+0

Gad pour être utile. Assurez-vous de tester avec plusieurs navigateurs, cependant. –

4

Une bonne façon simple et est d'utiliser des champs cachés:

<input type="hidden" name="myname" value="my_value" id="my_id"> 
+0

Oui, mais j'ai besoin d'un deuxième champ de saisie pour chaque champ de saisie ... – helle

+0

Vous pouvez également utiliser un champ unique et sérialiser une chaîne dans l'attribut value. Exemple: 'myid; valeur | myotherid; valeur2 | myotherotherid; value3' etc ... –

+0

Je pensais plutôt à une approche créative et innovante :-(. Je ne veux pas donner ma générosité à une solution que je veux éviter (ne prenez pas cela personnellement !!!) ... eh bien, ma résolution jusqu'à présent est, que je passe un objet json à mon JS qui détient des ID (des champs d'entrée) et des quantificateurs correspondants. déclenché par un événement .... aussi pas une solution très cool, je pense. – helle