La soumission Javascript ne contient pas la valeur du bouton de soumission
P粉957661544
P粉957661544 2023-10-22 09:40:15
0
2
547

Eh bien, ce n'est pas une question mais juste pour mon information (car je peux penser à environ 4 solutions de contournement différentes pour que cela fonctionne. Cependant, j'ai un formulaire (rien de spécial) mais le bouton de soumission a quelque chose à voir avec la valeur spécifique de

.
<input type='submit' name='submitDocUpdate' value='Save'/>

Après avoir soumis le formulaire, je vérifie le nom.

if(isset($_POST['submitDocUpdate'])){ //do stuff

Cependant, une fois, j'ai essayé de soumettre le formulaire via Javascript au lieu du bouton Soumettre.

document.getElementById("myForm").submit();

Tout fonctionne bien sauf 1 problème. Lorsque je regarde la valeur $_POST soumise via la méthode javascript, elle n'inclut pas SubmitDocUpdate. J'obtiens toutes les autres valeurs du formulaire mais pas la valeur du bouton de soumission.

Comme je l'ai dit, je peux penser à plusieurs façons de contourner ce problème (en utilisant une variable cachée, en vérifiant isset sur une autre variable de formulaire, etc.), mais je me demande simplement si c'est le comportement correct pour Submit() car du Cela ne me semble pas très intuitif. Merci d'avance.

P粉957661544
P粉957661544

répondre à tous(2)
P粉131455722

Utilisez jQuery 1.0 ou supérieur :

$('input[type="submit"]').click();

J'étais en train de résoudre le même problème lorsque je suis tombé sur ce post. click() sans aucun paramètre déclenche un événement de clic sur n'importe quel élément que vous sélectionnez : http://api.jquery.com/click/

P粉466290133

Oui, c'est un comportement correct HTMLFormElement.submit()

La raison pour laquelle la valeur du bouton de soumission n'est pas envoyée est que les formulaires HTML sont conçus pour envoyer la valeur du bouton de soumission sur lequel l'utilisateur clique (ou est activé). Cela permet plusieurs boutons de soumission par formulaire, par exemple dans les scénarios où vous avez besoin d'actions « prévisualiser » et « enregistrer ».

Puisque vous soumettez le formulaire par programme, il n'y a aucune action explicite de l'utilisateur sur le seul bouton de soumission, donc rien n'est envoyé.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal