문제

에 문제가 있으로 제출 양식 및 Javascript 를 확인합니다.기본적으로,다음과 같은 자바 스크립트라고 할 때'제출'버튼을 눌렀습니다.

function confirmation() {
    var answer = confirm("Are you sure you wish to edit?")
    if (answer)
    {
        window.location = "#editform2";
    }
}

그러나 언제나 취소하는 대신 확인,자바스크립트가 올바르게 실행되기 때문에,내가 조심 주소 표시줄 및 업데이트하지 않을#editform2.형태로,그러나,여전히 제출합니다.그것은 페이지를 새로 고칩니다.여기에서의 관련 부분에서 형태로 되어 있습니다.

//Form is encoded in PHP
<form method=\"post\">
//Form is in here
<input type=\"submit\" value=\"Edit\" onclick=\"confirmation()\">

래의 양식을지도 모르고,어디로 가는지도 모른 것,다만 페이지를 새로 고칩,페이지로 발생하므로 프로세서습니다.그래서 그것은 처리더라도 나는 취소를 클릭하면 및 Javascript 를 유지해야에서는 동일한 페이지.게 움직이 처리하여 다른 페이지로 무엇인가,나의 솔루션?

도움이 되었습니까?

해결책

그것은 작품이기 때문에 그것은 확인 버튼을 누르고 형태는 제출된 모든 경우에.Id 를 할당 양식을 변경하는 입력 유형:

<form method="post" id="formid">
<input type="button" value="Edit" onclick="confirmation()">

고 이 함수를 호출에 클릭:

function confirmation() {
    var answer = confirm("Are you sure you wish to edit?")
    if (answer)
    {
        document.getElementById("formid").submit();
    }
}

다른 팁

를 사용하지 않 onclick 이벤트의 제출 버튼 사용 onsubmit 이벤트 당신의 형태:

document.forms[0].onsubmit = function () {
    return confirm("Are you sure you wish to edit?");
}

를 추가할 수 있습니 id 특성 양식을 식별합니다.

유지는 이벤트는 바인딩에서 JavaScript 코드지 인라인 특성에 귀하의 HTML 코드를 더 maintanable 고 쉽게 디버그.

try:

return answer;

의 끝에서 기능 및 확인 onclick 방법을 반환한다.그래서 다음과 같:

<input type="submit" value="Edit" onclick="return confirmation()">

이 함수는 false 를 반환하고 있는 형태로 게재되지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top