Ceci est si basique, mais je passais parfois maintenant et ne pouvais pas le comprendre. J'essaie de créer un formulaire avec une entrée cachée et de l'envoyer à la page "test.php" en utilisant jQuery. Cependant, je ne peux pas accéder à ce formulaire quand, donc je ne suis pas sûr où est le problème !!créer et soumettre le formulaire dynamiquement en utilisant javascript
Ceci est jQuery pour créer et soumettre le formulaire:
$('#submitForm').on('click', function(e){
e.preventDefault();
//Create a Form
var f = document.createElement("form");
f.setAttribute('id','queryForm');
f.setAttribute('name','queryForm');
f.setAttribute('method',"post");
f.setAttribute('action',"test.php");
var i = document.createElement("input");
i.setAttribute("type", "hidden");
i.setAttribute('name',"query");
i.setAttribute('id',"queryId");
i.setAttribute("value", "success");
f.appendChild(i);
document.body.appendChild(f);
//Send the Form
f.submit();
});
Dans "test.php" Je le soufflet de code. J'ai essayé d'imprimer la longueur du formulaire pour m'assurer que j'ai envoyé le formulaire correctement mais je reçois 0 !!
<body>
<script>
var formlength = document.forms.length;
alert(formlength); // I get 0
</script>
</body>
Merci d'avance!
Le code devrait fonctionner comme prévu .. ce qui signifie que cela crée un formulaire et le soumet tout de suite à 'test.php'. Où essayez-vous de "vérifier" votre formulaire? Si vous essayez de le trouver dans "test.php", vous ne le ferez pas parce qu'il a transmis des données, pas le formulaire lui-même .. – rorofromfrance
@rorofromfrance test.php n'a rien d'autre que le javascript ci-dessus où je vérifie la longueur du formulaire. Cela montre que, d'après moi, il n'y a pas de forme, n'est-ce pas? J'ai essayé getElementbyId ("queryId") et n'ai rien obtenu! – Anonymous
où vérifiez-vous 'document.forms.length', vérifiez-le avant' f.submit() ', vous devriez obtenir' 1'. Vous ne pouvez pas accéder au formulaire une fois qu'il est soumis, car la page sera rechargée! – rps