2010-12-13 2 views
4

J'ai une chaîne que je suis en train de créer via javascript. Aux fins de cet exemple:Comment soumettre une variable javascript en utilisant un aller-retour sur le serveur

var cereal = 'my super cereal string'; 

J'ai un bouton sur la page:

<button id="save" type="submit" name="submit">Save</button> 

Comment puis-je soumettre cette chaîne à l'aide d'un aller-retour (je ne veux pas utiliser ajax). J'utilise jquery dans cette application.

Quelle est la meilleure façon d'y parvenir?

+0

Par curiosité, pourquoi ne voulez-vous pas utiliser AJAX? – micmcg

+1

+1 pour avoir un exemple concis. Tant de gens sur SO coller dans trois pages de code et demander "quel est le problème avec cela?" – jpsimons

+0

micmcg, je veux passer à la page suivante quand j'ai terminé. (Je sais que je pourrais utiliser 'sur le succès' pour cela, mais cela ne semble pas approprié) –

Répondre

1

Vous pouvez attribuer un écouteur de clic au button qui construit un form avec une jetable entrée contenant votre chaîne:

var cereal = 'my super cereal string'; 
$("button#save").click(function() { 
    var form = "<form id='hidden-form' style='display:none' method='POST' action='/echo/json'><input name='cereal' value='" + cereal + "' /></form>"; 

    $("body").append(form); 
    $("form#hidden-form").submit(); 
}); 

Remplacement du action de form avec tout ce que vous voulez poster le message.

Check it out: http://jsfiddle.net/andrewwhitaker/MNtwY/

+0

Cela a fonctionné très bien, mais vous avez omis le type d'entrée –

+0

@Aaron: le type d'entrée est 'texte' par défaut :) http://www.w3.org/TR/html401/interact/forms.html#adef-type-INPUT –

+0

Bravo pour l'éducation accidentelle, merci –

4

Vous ne savez pas si c'est le meilleur ou le plus élégant, mais vous pourriez avoir une forme avec un champ caché. Définissez la chaîne sur le champ masqué, puis soumettez le formulaire.

1

est ici une option à l'aide d'une GET demande:

var cereal = 'captain crunch'; 
$('#save').click(function() { 
    window.location.href = "http://www.google.com/search?q=" + cereal; 
}); 
Questions connexes