2012-08-22 4 views
3

숨겨진 입력 필드가 하나있는 간단한 양식과 제출 버튼이 있습니다. 사용자가 제출 버튼을 클릭하면 confirm() 함수를 사용하여 JavaScript 함수를 먼저 실행해야합니다. 사용자가 '확인'또는 '취소'를 누르는 지 여부에 따라 양식을 제출하거나 제출하지 않을 수 있습니다. 제출 버튼에 클릭 기능을 올바르게 지정하고 위에서 설명한대로 작동하게하려면 어떻게해야합니까? 그러나 내가하는 것을 선호합니다, 나는 완전히 형태를 스크랩 단지/삭제/페이지에 GET 변수로 숨겨진 변수를 전달할 수 있다는 것을 깨닫게조건부로 실행해야하는 버튼을 제출할 JavaScript 함수를 할당하십시오.

<form action="/delete/" method="post"> 
<input type="hidden" name="path" value="'.$path.'" /> 
</form> 

: 여기

function confirmDelete() { 
var del = confirm("Are you sure you wish to delete this post?"); 

if (del) 
    //continue and submit the form 
else 
    //the form should not be submitted 
} 

양식입니다 보안상의 이유로 POST 변수를 사용하십시오.

답변

10

이 충분이 완벽하게 작동하고

<input type="submit" value="Delete" onClick="return confirm('Are you sure?');" /> 
+0

, 감사합니다! onclick의 반환이 제출 작업의 실행에 어떤 영향을 미치는지 설명하는 마음? onclick = "return false"가 실행되면 더 이상의 코드를 중지합니까? – fvgs

+0

'return false;'이벤트 핸들러는 이벤트의 기본 액션이 일어나지 않도록합니다. 'true return;은 그것을 계속 허용합니다. 'confirm'은 OK를 클릭하면 true를 반환하고 그렇지 않으면 false를 반환하므로이 상황에서 완벽하게 작동합니다. –

관련 문제