Adj*_*jit 1 javascript forms jquery google-forms
尽管尝试了多种方法,但无法让我的表单以编程方式提交。试过纯JS,也试过jQuery。没有成功。
我有这个表单标签:
<form action="https://docs.google.com/forms/d/13zex8ZsEsnZz3A8uB4jU4oDb5wZfaqqq2Pq2CGlIe6M/formResponse" method="POST" id="ss-form" target="_self" onsubmit="" name="eForm">
<!--My Form Stuff-->
<input type="submit" name="submit" value="Submit" id="ss-submit">
</form>
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的:
/*jQuery*/
$('#ss-form').submit();
/*Javascript*/
document.getElementById('ss-form').submit();
document.eForm.submit();
Run Code Online (Sandbox Code Playgroud)
他们都没有工作。不知道为什么,但我假设这与我尝试提交谷歌表单有关。如果我物理单击提交一切正常。
任何和所有的帮助都非常感谢。
问题是您在表单中有一个HTMLInputElement带有名称的字段 ( ) submit。这就是为什么document.getElementById('ss-form').submit 不是函数而是对象的原因。
因此,您会收到以下错误:
TypeError: object is not a function
解决方案是删除该元素。我们应该小心验证浏览器是否认为它是一个元素而不是一个函数:
if (typeof document.getElementById('ss-form').submit === "object") {
document.getElementById('ss-form').submit.remove();
}
document.getElementById('ss-form').submit();
Run Code Online (Sandbox Code Playgroud)