누구 든지이 코드에 어떤 문제가 있는지 말해 줄 수 있습니까? JavaScript로 양식을 제출하려고했지만 “.submit is a function”오류가 표시되었습니다. 코드에 대한 자세한 내용은 아래를 참조하십시오.
<form action="product.php" method="get" name="frmProduct" id="frmProduct" enctype="multipart/form-data">
<input onclick="submitAction()" id="submit_value" type="button" name="submit_value" value="">
</form>
<script type="text/javascript">
function submitAction()
{
document.frmProduct.submit();
}
</script>
나는 또한 이것을 시도했다 :
<script type="text/javascript">
function submitAction()
{
document.forms["frmProduct"].submit();
}
</script>
둘 다 같은 오류를 보여줍니다 🙁
답변
제출은 기능이 아닙니다
제출 버튼 또는 다른 요소의 이름을 지정했음을 의미합니다 submit
. 버튼 이름을btnSubmit
통화가 마술처럼 작동합니다.
제출 단추의 이름을 지정 submit()
하면 양식 의 기능 이 대체 됩니다.
답변
<form action="product.php" method="post" name="frmProduct" id="frmProduct" enctype="multipart/form-data">
<input id="submit_value" type="button" name="submit_value" value="">
</form>
<script type="text/javascript">
document.getElementById("submit_value").onclick = submitAction;
function submitAction()
{
document.getElementById("frmProduct").submit();
return false;
}
</script>
편집 : 실수로 ID를 바꿔 놓았습니다.
답변
이름이 같은 다른 양식이 없는지 확인하고 양식에 name = “submit”또는 id = “submit”이 없는지 확인하십시오.
답변
변경할 기회가없는 경우 다음과 같이 name="submit"
양식을 제출할 수도 있습니다.
function submitForm(form) {
var submitFormFunction = Object.getPrototypeOf(form).submit;
submitFormFunction.call(form);
}
답변
마스터 페이지를 사용하여 MVC 응용 프로그램을 만들 때도 동일한 문제가 발생했습니다. 위에서 언급 한 바와 같이 이름으로 ‘submit’을 가진 요소를 찾으려고 시도했지만 그렇지 않았습니다.
내 경우에는 내 페이지에 여러 개의 태그를 만들었으므로 올바른 양식을 참조하는 데 문제가있었습니다.
이 문제를 해결하려면 사용할 양식 객체를 버튼이 처리하도록하십시오.
onclick="return SubmitForm(this.form)"
그리고 js와 함께 :
function SubmitForm(frm) {
frm.submit();
}
답변
이 주제에는 이미 많은 답변이 있지만 2013 년 4 월 21 일부터 Neil E. Pearson의 의견이 수정되었습니다.
제출 버튼이 #submit 인 경우 다른 양식 인스턴스의 submit () 메소드를 도용하여 해결할 수 있습니다.
그의 방법에 대한 나의 수정과 나를 위해 일한 것 :
document.createElement('form').submit.call(document.getElementById(frmProduct));
답변
양식 요소에 제출 이름을 지정하면 제출 속성이 단순하게 표시됩니다. 이름이 submit 인 양식 요소가없고 제출 기능에 제대로 액세스 할 수 있어야합니다.