[javascript] 자바 스크립트를 사용하여 양식을 제출하는 방법은 무엇입니까?

theForm내부에 제출 버튼이있는 다음과 같은 div 가있는 양식이 있습니다.

<div id="placeOrder"
     style="text-align: right; width: 100%; background-color: white;">
    <button type="submit"
            class='input_submit'
            style="margin-right: 15px;"
            onClick="placeOrder()">Place Order
    </button>
</div>

클릭하면 함수 placeOrder()가 호출됩니다. 이 함수는 위의 div의 innerHTML을 “processing …”으로 변경합니다 (따라서 제출 버튼이 사라짐).

위의 코드는 작동하지만 문제는 양식을 제출할 수 없다는 것입니다! 이것을 placeOrder()함수 에 넣으려고했습니다 .

document.theForm.submit();

그러나 그것은 작동하지 않습니다.

양식을 제출하려면 어떻게해야합니까?



답변

name양식 의 속성을로 설정하면 "theForm"코드가 작동합니다.


답변

당신이 사용할 수있는…

document.getElementById('theForm').submit();

…을 교체 하지 마십시오innerHTML . 당신은 양식을 숨기고 다음 삽입 할 수 처리 … span 것이다 표시 그 자리에 있습니다.

var form = document.getElementById('theForm');

form.style.display = 'none';

var processing = document.createElement('span');

processing.appendChild(document.createTextNode('processing ...'));

form.parentNode.insertBefore(processing, form);


답변

내 경우에는 완벽하게 작동합니다.

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

또한 다음과 같은 기능으로 사용할 수 있습니다.

function formSubmit()
{
     document.getElementById("form1").submit();
} 


답변

document.forms["name of your form"].submit();

또는

document.getElementById("form id").submit();

이 중 하나를 시도해 볼 수 있습니다.


답변

오래된 게시물이지만 양식 name내부에 태그 를 사용하지 않고 양식을 제출하는 방식을 그대로 둡니다 .

HTML

<button type="submit" onClick="placeOrder(this.form)">Place Order</button>

JS

function placeOrder(form){
    form.submit();
}

이 솔루션이 다른 사람을 도울 수 있기를 바랍니다. TQ


답변

HTML

<!-- change id attribute to name  -->

<form method="post" action="yourUrl" name="theForm">
    <button onclick="placeOrder()">Place Order</button>
</form>

자바 스크립트

function placeOrder () {
    document.theForm.submit()
}


답변

양식에 ID가 없지만 theForm과 같은 클래스 이름이있는 경우 아래 명령문을 사용하여 제출할 수 있습니다.

document.getElementsByClassName("theForm")[0].submit();