a 태그 + script로 submit하기

form 코드 안에 button type=submit 대신 a 태그로 버튼을 넣고 이 버튼을 누르면 특정 confirm 문구가 나온 후에 그 result 값에 따라 form에 있는 내용을 submit하게 하려고 합니다.

현재

Copy
<form name="fwrite" id="fwrite" action="<?php echo $action_url ?>" onsubmit="return fwrite_submit(this);" method="post" enctype="multipart/form-data" autocomplete="off" style="width:<?php echo $width; ?>">

 

....

 

<a onClick = "submitConfirm()">

</form>

이렇게 된 문서에

Copy
<script>

function submitConfirm() {

var result = confirm('확인하였습니까?');

if (result){

$('#fwrite').submit();

}

}

</script>

위의 스크립트를 연결하여 해보려 했는데, '올바른 방법으로 이용바랍니다.' 라는 에러가 발생하고 있습니다. 혹시 어떤 종류의 문제인지 알 수 있을까요?

답변 2개

2020-06-15 (월) 21:44:45

1. <a onClick = "submitConfirm()">

->

<button type="submit">~</button>

2. function fwrite_submit(f)

{

~

return true;

->

if (confirm('확인하였습니까'))

  return true;

js/common.js 최하단에 보면 submit 이벤트 발생시 토큰을 생성하여 처리하는부분이 있습니다.

해당 부분은 봇이나 프로그램을 이용한 글 작성을 막기 위한 부분이며 해당 
    $(document).on("click", "form[name=fwrite] input:submit, form[name=fwrite] button:submit, form[name=fwrite] input:image", function() {

에서도 보시면 아시겠지만 위의 버튼이 클릭시에만 발생되며 질문자님께서 짜신 코드에서는 이 이벤트가 발생하지 않기 때문입니다.

common.js쪽을 해당 이벤트가 일어날때도 일어나게 수정하거나, a버튼을 클릭하였을대 common.js에 있는 해당 소스와 동일한 이벤트를 집어넣으시면 됩니다.

답변을 작성하려면 로그인이 필요합니다.