2016-12-08 17 views
0

私は送信ボタンがトリガされたIE 11 のフォームのonSubmit機能に問題がある、「doSomethingの()」 - 関数が呼び出されます。 "doSomething()"関数の中で、私はいくつかの入力検証処理を行う別の関数を呼び出します。この関数は常にfalseを返しますが、すべての検証エラーがなくなればフラグをtrueに設定します。フラグがtrueに設定されている場合、doSomething()関数はtrueを返し、フォームが送信され、アクションが呼び出されます。このパターンはFirefox、Chrome、Safariで動作しますが、IE11では動作しません。 IEでは、doSomeValidation()の前にアクションを呼び出します。 - Functionが準備されています。 : - 誰か助けてくれますか?どうもありがとう!!!が正しく

<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ではなくflagを返します。 'function doSomething(){ doSomeValidation(); return flag;} ' – mplungjan

+0

少しhtml5の制約の検証はできませんか?ほとんどのjsは必要ありません...私たちにフルHTMLフォームを表示できますか? – Endless

+1

多分doSomeValidation – Mahi

答えて

0

は、私はそれを解決し flag = false;

+0

申し訳ありませんが、通常はセミコロンがあります...私の投稿に間違って入力されました – Malvo85

+0

アラートを試してみました – vijay

+0

はい... doSomeValidation()関数を呼び出した後のすべてのアラートは – Malvo85

0

確実IE11でその作品を半結腸に虚偽の後にカンマを交換し、doSomethingのメソッド内で、いくつかの警告を追加します。問題は、jQuery $(document).ready(..) - 関数内の文字列にJS .startsWith(..) - 関数を呼び出したことです。 Chrome、Firefox、Safariはそれを無視しましたが、IEは狂っていましたが、エラーは表示されませんでした。私は代わりに.indexOf(..) - 関数を取り、それは働いた。ここに私を助けてくれてありがとう!