Je le jure, j'ai cette chose exacte en train de travailler sur une autre page. Je suis un noob javascript tel qu'il est gênant ...document.forms.gallery_form.submit n'est pas une fonction
function delete_gallery() {
var gallery = document.getElementById('gallery_id').value;
var form = document.getElementById('gallery_form');
form.setAttribute('action', 'index.php?action=delete§ion=galleries&id='+gallery);
document.forms['gallery_form'].submit();
}
Inspecter l'élément montre qu'il est mise à jour correctement l'action:
<form method="post" action="index.php?action=delete&section=galleries&id=12" name="gallery_form" id="gallery_form"><input type="hidden" value="12" id="gallery_id" name="gallery_id"><p>Name: <input type="text" name="name" value="Woo"></p><p>Description:<br><textarea name="description">Dee</textarea><input type="hidden" value="2" name="artist"></p><p><input type="submit" value="Submit" name="submit">
</p></form>
Voici le bouton que j'utilise pour appeler la fonction, il est dans un tableau ci-dessous sous la forme:
<button onclick="delete_gallery()" type="button">Delete Gallery</button>
EDIT:
Je aurais dû mentionner J'ai d'abord essayé d'utiliser la méthode getElementById, ala forms.submit(); - J'ai eu la même erreur, c'est pourquoi je suis passé à l'utilisation de document.forms [] à la place.
Great catch, +1 –
L'inspecteur web de Safari est d'accord avec vous. Je ne vais pas voler votre grande trouvaille, donc voici comment appeler form.submit si changer le nom du bouton submit est trop compliqué (bien que ce ne soit pas le cas): 'HTMLFormElement.prototype.submit.call (document .getElementById ('gallery_form')); ' – zneak
Wow. Je ne l'aurais jamais deviné. Je vais certainement commencer à nommer mes boutons de manière plus créative à partir de maintenant. –