2013-04-17 6 views
0

Я пытаюсь получить всплывающий блок, когда нет текста/пробела. Он отлично работает в Firefox, Chrome & Safari.Невозможно получить всплывающее предупреждение Alert on IE ... Хорошо работает в Firefox, Chrome и т. Д.?

Пожалуйста, проверьте ниже код в моем JavaScript Файл-:

function submitQuestion(URL,docId,errorMessage) 
{ 
var question = $('textField').value; 
if(!question.blank()) 
{ 
var submitForm = $("question-form"); 
submitForm.action = URL+"docId="+docId+"&question="+encodeURIComponent(question); 
//alert(submitForm.action); 
submitForm.submit(); 
} 
else 
{ 
alert(errorMessage); 
return false; 
} 
} 

Выше функция отлично работает в Firefox, Safari & Chrome, как, когда нет ничего в текстовое поле (т.е. пустой/пустой), то он идет еще & prompt errorMessage как всплывающее окно, но в IE оно не переходит в другое & errorMessage pop-up никогда не приходит.

Пожалуйста, проверьте ниже код для моего forntend form-:

<form method="POST" id="question-form" onsubmit="return submitQuestion('https://localhost/question-post!input.jspa?','ABC12','Enter your question!');"> 
       <span class="fieldwrap"> 
        <input type="text" placeholder="Ask customers about this document" value="" maxlength="255" autocomplete="off" class="questionInputField" id="textField"> 
       </span> 
       <div class="clear"></div> 
       <div id="question-submit" class="widget-div clearfix"> 
        <input type="submit" value="Submit question to the portal" class="questionSubmitFormButton"> 

        </div> 
       </div> 

      </form> 

Что произошло здесь в ИЭ потребуется заполнитель в качестве значения для текстового поля, когда мы не предоставили какой-либо то есть когда мы держим текстовое поле пустой или пустой, тогда он будет иметь место в качестве значения текстового поля & вместо того, чтобы давать всплывающее предупреждение, он переходит в цикл if, который не должен быть случайным.

+0

На какое событие вы это делаете? НЕ отправляйте форму в событие отправки - пожалуйста, покажите, где и как вы называете этот код. – mplungjan

ответ

0

Чтобы получить доступ к значению textField с помощью jQuery, вы должны использовать val() вместо значения.

var question = $('textField').val(); 
if (question != '') { 
// 
} 
else { 
// 
} 

Ниже приведен рабочий пример:

<!DOCTYPE html> 
<head> 
    <title>EXAMPLE</title> 
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
    <script> 
     function submitQuestion(URL, docId, errorMessage) { 
      var question = $('#textField').val(); 
      if (question.trim() != "") { 
       var submitForm = $("#question-form"); 
       submitForm.attr("action", URL + "docId=" + docId + "&question=" + encodeURIComponent(question)); 
       return true; 
      } 
      else { 
       alert(errorMessage); 
       return false; 
      } 
     } 
    </script> 
</head> 
<body> 
    <form method="POST" id="question-form" onsubmit="return submitQuestion('https://localhost/question-post!input.jspa?','ABC12','Enter your question!');"> 
     <span class="fieldwrap"> 
      <input type="text" placeholder="Ask customers about this document" value="" maxlength="255" autocomplete="off" class="questionInputField" id="textField"> 
     </span> 
     <div class="clear"></div> 
     <div id="question-submit" class="widget-div clearfix"> 
      <input type="submit" value="Submit question to the portal" class="questionSubmitFormButton"> 
     </div> 
    </form> 
</body> 
+0

Я написал javascript. не могли бы вы рассказать мне о javascript, поскольку .val() дает мне пустую страницу после нажатия кнопки. – Prat