2009-06-30 7 views
1

En utilisant javascript, comment ajouter des données à la chaîne de requête?Query String Javascript

Fondamentalement, je veux ajouter les informations window.screen.height et window.screen.width à la chaîne de requête afin que je puisse ensuite l'envoyer par courriel avec les autres informations de connexion.

Sinon, comment est-ce que je remplirais deux champs cachés avec les mêmes données, un formulaire est soumis afin que je puisse le prendre à partir de là?

Merci, R.

+0

Où voulez-vous exactement ajouter la chaîne de requête? à l'attribut d'action de formulaire ou un lien quelque part? –

Répondre

6

Je pense que cette dernière option serait plus facile à implémenter. Par exemple, si vous avez les champs cachés comme celui-ci:

... 
<input type="hidden" name="screenheight" id="screenheight" value="" /> 
<input type="hidden" name="screenwidth" id="screenwidth" value="" /> 
... 

Alors le JavaScript serait:

<script type="text/javascript"> 
document.getElementById('screenheight').value = window.screen.height; 
document.getElementById('screenwidth').value = window.screen.width; 
</script> 
+0

Merci, je suis allé avec les champs cachés et le combo javascript et ça a très bien marché. Merci. – flavour404

+0

Je suis heureux que cela a fonctionné pour vous. S'il vous plaît marquer comme réponse si vous en avez envie. –

0

pour les champs cachés, donner à chaque champ un ID faites ceci

$("#fieldID").attr("value") = someVal UE;

MISE À JOUR: Désolé, j'ai vu Query et ça m'a fait penser à jQuery.

+0

jQuery est sympa, mais il faudra jQuery :). –

+0

+1 pour revenir à 0 –

+1

toujours pas valide car vous auriez besoin de guillemets autour de #fieldID –

0

Si vous vouliez ajouter à l'emplacement dans une bibliothèque de manière agnostique, vous pouvez effectuer les opérations suivantes:

var query = window.location.search; 
var sep = "?"; 
if (query) { 
    sep = "&"; 
} 
window.location = window.location + sep + "h=" + 
    window.screen.height + "&w=" + window.screen.width; 

Ceci suppose bien entendu que vous n'avez pas de paramètres w ou h dans la chaîne de requête déjà.