2011-02-10 7 views
1

J'ai un tableau avec 8 éléments définis dans un script.Champ de saisie masqué

Je voudrais savoir comment je peux passer toutes les valeurs de ce tableau à un seul élément caché.

Aide de Pls.

<script ='text/javascript'> 

function abc(){ 

var arr= new Array(8); 
for (var i=0; i<8;i++) 
{ 
arr[i]= ...; 
} 
</script> 
<input type="hidden" id="arrs" name="arrs" value= ? > 
+0

Veuillez expliquer pourquoi vous essayez de le faire dans un élément d'entrée * single * et quelle technologie utilisez-vous au niveau du serveur . – Tomalak

+0

@Tomalak: Je devrai accéder à cet élément caché d'entrée dans un autre js plus tard en utilisant document.forms.element ('') .. alors je pensais que ce serait plus facile avec un seul élément. Si ce n'est pas possible, alors SVP laissez-moi savoir, comment je peux le faire en utilisant plusieurs éléments cachés .. thnx – gin

+0

Ne pas utiliser 'new Array (8)'. Faites juste 'var arr = [];'. Il n'est pas nécessaire d'initialiser la longueur du tableau. –

Répondre

1

vous pouvez les joindre à virgule ','

$('#arrs').val(arr.join(',')); 
+0

Je pense qu'il a besoin de solution dans JavaScript pas dans JQuery. –

+0

array.join est également fonction dans javascript, seulement besoin de faire getelementbyid comme @harry faire –

0

Vous pouvez essayer comme ceci:

<script> 
    function a(){ 
     var arr= new Array(8); 
     for (var i=0; i<8;i++) 
     { 
      arr[i]= i; 
     } 
     document.getElementById('d').value = arr; 
     alert(document.getElementById('d').value); 
    } 
</script> 
<input id="d" type="hidden" /> 
<input type="button" onclick="javascript:a();" value="A" /> 

Hope this helps.

0

Si les valeurs ne sont que des chaînes ou des nombres entiers, vous pouvez essayer de les rejoindre avec un seperator pas présent dans votre entrée:

document.getElementById("arrs").value = arr.join("###"); 

Et vous pouvez le faire

myArr = document.getElementById("arrs").value.split("###"); 

Pour récupérer ce tableau arrière .

+0

Merci pour votre aide, les gars! J'apprécie vraiment.Mon code fonctionne enfin. :) Voici ce que j'ai fait, au cas où vous êtes curieux. – gin

+0

et ainsi de suite. Le champ de valeur reste "" et renvoie la valeur arr à l'exécution. – gin

+0

@ unos33 Vous devriez regarder la deuxième réponse, fournit une solution beaucoup plus propre! – gnur

1

D'après les commentaires sur la question elle-même

Je vais devoir accéder à cette entrée élément caché dans un autre js plus tard à l'aide document.forms.element(''). donc a pensé qu'il serait plus facile d'utiliser un seul élément .

Il serait plus facile de ne pas utiliser tout élément de forme du tout. Je ne sais pas pourquoi vous voulez faire un tel détour. Vous avez une variable JavaScript, vous pouvez l'utiliser directement dans "un autre script plus tard":

<script type="text/javascript" id="firstScript"> 
    function abc(){ 
    var arr = []; 
    for (var i=0; i<8; i++) { 
     arr.push(...); 
    } 
    return arr; 
    } 

    var myArray = abc(); 
</script> 

<!-- time passes, but we're still on the same page... --> 

<script type="text/javascript" id="anotherScript"> 
    doSomethingWith(myArray); 
</script> 
Questions connexes