2016-10-13 1 views
0

이 코드를 보면주십시오 확인 대화 상자의 버튼을 "취소"의 클릭에 리디렉션 양식 제출 팝업을 확인하십시오. "취소"을 클릭하면 양식이 제출되지 않고 현재 페이지에 남아 있습니다. "취소"버튼을 클릭하면 페이지가 다른 페이지로 리디렉션 될 수 있습니까?페이지

+0

그래, 처리 자체 기능에서의 응답 및 수동으로 리디렉션에 대한 응답. 자신의 함수에서 true 또는 false를 반환하면 실제로는 동작을 변경하지 않습니다. – Icepickle

+0

취소 버튼에 eventlistener를 추가하기 만하면됩니다. –

+0

@ K.Daniek 나는 그가 팝업창에 나타나는 표준 대화 상자를 의미한다고 생각한다 – Icepickle

답변

2

입니다. 이 같은

뭔가 일반적인 생각을 표시해야합니다 그리고 당신은 당신의 자신의 리디렉션 링크를 업데이트 할 수 있습니다

var submitLink = document.getElementById('saveBtn'), 
    myForm = document.getElementById('myForm'); 

submitLink.addEventListener('click', function(e) { 
    if (confirm('Are You Sure?')) { 
     myForm.submit(); 
    } else { 
     e.preventDefault(); 
     window.location = 'http://google.com'; // redirect to your own URL here 
    } 
}); 
이 양식에 의존

및 앵커 가진 id 속성 :

<form action="post" id="myForm"> 
    <a href="#" id="saveBtn" class="btnClass">Save<a/> 
</form> 
-1

예는 확인이 true를 돌려줍니다 수 있기 때문에/당신이 잘못된 결과를 추가로 동작을 코딩 할 수 있습니다 거짓, 예입니다

<form action="post" onsubmit="return confirm('Are You Sure?')? true:window.location.assign('http://www.w3schools.com')"> 
    <a id="saveBtn" class="btnClass">Save<a/> 

+1

event.preventDefault()를 코드에 추가합니다. 그렇지 않으면 양식이 두 경우 모두 제출됩니다. –

-1

당신이 국가를 동일시하여 확인 대화 상자를 처리 할 수 ​​있습니다 true 또는 false. 여기

function myFunction() { 
var r = confirm('Are You Sure?'); 
if(r==true) 
return true; 
else { 
    event.preventDefault(); 
    window.location="http://example.com"; 
} 
} 

당신은 아마의 onsubmit 속성을 사용하여 가독성과 유지 보수에 대한 눈에 거슬리지 이벤트 리스너 접근 방식으로 가지 말았어야 작업 바이올린 https://jsfiddle.net/BoyWithSilverWings/p7knLr3m/

+0

코드에는 몇 가지 사소한 점이 있습니다. nl, true 및 event가 아무 곳에도 나오지 않는 엄격한 검사가 있습니다. 귀하의 바이올린은 실제로 반환되지 않습니다 (어떤 식 으로든 보낼 수 있기 때문에 괜찮습니다). 그러나 많이 작성 될 수 있습니다. (그리고 onsubmit을 사용하고 있다면 onsubmit = "return myFunction()"을 반환해야합니다. false를 반환하면 취소 할 수 있습니다 (또는 단순히 r을 반환하지 않는 이유). 이름 지정은 처음에는 조금 어렵지만 코드를 훨씬 더 명확하게 만듭니다. – Icepickle

+0

다음에 처리 할 것입니다. 감사합니다. –