2013-06-09 5 views
-2

J'ai une liste simple de cases à cocher, qui ne sont PAS dans un formulaire. En cliquant sur un bouton, je veux envoyer les valeurs de toutes les cases cochées à un script Perl. Je ne veux pas en faire une forme. Je travaille avec ExtJS et je n'ai donc pas besoin de solutions ou d'astuces jQuery. Des conseils sur comment je fais cela?Passer des valeurs de cases à cocher à Perl Script

Illustration:

<input type="button" class="check" value="Send" onclick="foo()"/> 

    <input type="checkbox" name="chk" value="1"/> Checkbox 1 
    <input type="checkbox" name="chk" value="2"/> Checkbox 2 
    <input type="checkbox" name="chk" value="3"/> Checkbox 3 

En cliquant sur "Envoyer", je veux écrire la fonction foo() afin qu'il puisse transmettre les valeurs sélectionnées à mon script Perl hw.pl.

EDIT: Je comprends que je dois envoyer les paramètres en utilisant la méthode GET. Mais après avoir écrit la fonction JS, et avoir les valeurs vérifiées dans un tableau JS, comment envoyer ce tableau en tant que paramètre GET?

j'ai écrit la fonction foo() suivante, mais il ne fonctionne pas:

function foo(){ 
    var tclist = ""; 
     for(var i = 0; i < chk.length; i++) 
      if(chk[i].checked) 
      { tclist += chk[i].value + ","; } 


    self.location='/cgi-bin/hw.pl?tcs=tclist'; 



} 

Toute aide serait grandement apprécié. Je suis nouveau pour les scripts CGI.

+1

Si vous ne voulez pas de formulaire, vous devez les envoyer avec la méthode GET. – Toto

+0

@ M42 - Rien ne l'empêche d'utiliser le POST. – Quentin

+2

Suivez les principes de [Progressive Enhancement] (http://en.wikipedia.org/wiki/Progressive_enhancement) et [JavaScript discret] (http://en.wikipedia.org/wiki/Unobtrusive_JavaScript). Si vous souhaitez soumettre des valeurs de contrôle de formulaire, placez-les dans un formulaire. – Quentin

Répondre

2

changement

self.location='/cgi-bin/hw.pl?tcs=tclist'; 

à

self.location='/cgi-bin/hw.pl?tcs=' + tclist; 

Mais s'il vous plaît jeter un oeil sur les autres commentaires. Tout d'abord, vous devriez utiliser un formulaire. Deuxièmement, pourquoi utiliser JavaScript du tout? Si vous insérez vos cases à cocher dans un formulaire, leurs valeurs seront soumises sans aucun script côté client.

Questions connexes