document.forms.gallery_form.submit不是一个函数

Kee*_*ick 1 javascript

我发誓,我确实在另一页上工作.我是这样的javascript noob它令人尴尬......

function delete_gallery() {
    var gallery = document.getElementById('gallery_id').value;
    var form = document.getElementById('gallery_form');
    form.setAttribute('action', 'index.php?action=delete&section=galleries&id='+gallery);
    document.forms['gallery_form'].submit();
}
Run Code Online (Sandbox Code Playgroud)

检查元素表明它正在更新动作:

<form method="post" action="index.php?action=delete&amp;section=galleries&amp;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>
Run Code Online (Sandbox Code Playgroud)

这是我用来调用函数的按钮,它位于表单下面的表格中:

<button onclick="delete_gallery()" type="button">Delete Gallery</button>
Run Code Online (Sandbox Code Playgroud)

编辑:

我应该提到我先尝试使用getElementById方法,ala forms.submit(); - 我有同样的错误,这就是我切换到使用document.forms []的原因.

Che*_*try 9

可能是因为这个形式 -

<input type="submit" value="Submit" name="submit">
Run Code Online (Sandbox Code Playgroud)

form.submit正在使用此输入重新定义.只需将名称更改为其他名称submit,submit1然后查看是否有效.