2016-12-08 2 views
0

IE 11의 양식 onsubmit 기능에 문제가 있습니다. 제출 단추가 트리거되면 "doSomething()"기능이 호출됩니다. "doSomething()"함수에서 입력 확인 작업을 수행하는 다른 함수를 호출합니다. 이 함수는 항상 false를 반환하지만 모든 유효성 검사 오류가 사라지면 플래그를 true로 설정합니다. 플래그가 true로 설정된 경우 "doSomething()"- 함수가 true를 반환하고 양식이 제출되고 작업이 호출됩니다. 이 패턴은 Firefox, Chrome 및 Safari에서 작동하지만 IE11에서는 작동하지 않습니다. IE에서는 "doSomeValidation()"전에 액션을 호출합니다. - 함수가 준비되었습니다. :// 누가 도와 줄 수 있니? 고마워요 !!!IE11에서 양식 제출이 올바르게 작동하지 않습니다.

<form action="headToNextPage.php" onsubmit="return doSomething()"> 

JS

flag = false, // a global flag inside the js-script 

function doSomeValidation(){ 
// validate the inputs and set "flag" to true if all errors are gone 
} 

function doSomething(){ 
    doSomeValidation(); // do the validation stuff 

    if(flag==true) { 
    // do some other stuff 
    return true 
    } 

    return false; 
} 
+0

사용하는 곳에서'console.log (window.flag, flag)'를 시도해보고 생각을하는지보십시오. 또한 true 또는 false 대신 플래그를 반환합니다. 'function doSomething() { doSomeValidation(); return flag;}' – mplungjan

+0

html5 제약 조건 유효성 검사를 조금 사용할 수 없습니까? 거의 j는 필요하지 않습니다 ... 전체 HTML 양식을 보여줄 수 있습니까? – Endless

+1

어쩌면 일부 비동기 호출 doSomeValidation – Mahi

답변

0

내가 그것을 해결 flag = false;

+0

죄송합니다, 일반적으로 세미콜론이 있습니다 ... 내 게시물에 잘못 입력했습니다. – Malvo85

+0

경고를 시도했습니다. – vijay

+0

예 ... doSomeValidation() 함수를 호출 한 후 모든 경고가 호출되지 않습니다. – Malvo85

0

반드시 IE11에서 그 작품을 세미콜론으로 거짓 후 쉼표를 교체하고 해봐요 방법 내부에 약간의 경고를 추가 할 수 있습니다. 문제는 jQuery $ (document) .ready (..) - 함수 내부의 문자열에 JS .startsWith (..) - 함수를 호출했다는 것입니다. 크롬, 파이어 폭스, 사파리는 그것을 무시했지만 IE는 이상하게 여겼지 만 오류는 보이지 않았다. 대신에 .indexOf (..) - 함수를 가져 와서 작동했습니다. 나를 도와 주신 모든 분들께 감사드립니다!

관련 문제