2013-04-17 3 views
0

У меня возникли трудности с моей формой. На одной из моих страниц есть форма. Вы вводите информацию, нажмите «Отправить», и она вернется с некоторым результатом. Ну, он должен вернуться с результатом. Кажется, он ничего не делает, в настоящее время. Однако, если я проверяю ответы заголовка в своих инструментах разработчика, он показывает результаты. Поэтому я знаю, что их правильно называют, они просто не появляются на веб-странице.Результаты формы jquery не отображаются. Является ли мой код неправильным?

Вот код вызова:

$content .= ' 
    <script type="text/javascript"> 
     var $j = jQuery.noConflict(); 
     $j(window).load(function(){ 
      $j("#pubverify-form").submit(function() { 
       var str = $j(this).serialize(); 
        $j.ajax({ 
        type: "POST", 
        url: "' . $cs_base_dir . 'verify.php", 
        data: str, 
        success: function(msg){ 
         $j("#note").ajaxComplete(function(event, request, settings) 
         { 
          $j(this).html(msg); 
         }); 
        } 
       }); 
       return false; 
      }); 
     }); 
    </script>'; 

Вот код, который я считаю, должны показывать результаты:

 $content .= '<div id="verify-a-rec" class="clear">'; 
     $content .= '<div id="fields">'; 
     $content .= '<h4>Verify A Recommendation</h4>'; 
     $content .= '<div class="verify_search">'; 
      $content .= '<form id="pubverify-form" action="">'; 
        $content .= '<div class="label_wrap_verify"><label class="error" for="search_last_name">Last Name </label>'; 
        $content .= '<div class="input_wrap_verify"><input name="search_last_name" type="text" id="search_last_name"/></div></div>'; 
        $content .= '<div class="label_wrap_verify"><label class="error" for="search_dob">Birthdate (mm-dd-yyyy) </label>'; 
        $content .= '<div class="input_wrap_verify"><input name="search_dob" type="text" id="search_dob"/></div></div>'; 
        $content .= '<div class="label_wrap_verify"><label class="error" for="search_issue_date">Issue Date (mm-dd-yyyy)</label>'; 
        $content .= '<div class="input_wrap_verify"><input name="search_issue_date" type="text" id="search_issue_date"/></div></div>'; 
       $content .= '<div class="button_wrap"><input type="submit" value="Verify" class="button" id="pubverify-submit" /></div>'; 
      $content .= '</form>'; 
     $content .= '</div>'; 
     $content .= '</div>'; 
     $content .= '<div style="clear:both"></div>'; 
     $content .= '<div id="note">'; 
     $content .= '<p>Enter a Recommendation ID and click Verify!</p>'; 
      $content .= '<div class="patient_wrapper">'; 
       $content .= '<div class="results_label">First Name </div>'; 
       $content .= '<div class="results_label">Last Name </div>'; 
       $content .= '<div class="results_label">Date of Birth </div>'; 
       $content .= '<div class="results_label">Issue Date </div>'; 
       $content .= '<div class="results_label">Expiration Date </div>'; 
       $content .= '<div class="results_label">Dr. Information </div>'; 
      $content .= '</div>'; 
     $content .= '</div>'; 
    $content .= '</div>'; 
return $content; 

Может кто-то пожалуйста, помогите !?

+2

Вы действительно не должны сочетать PHP, JavaScript и HTML вместе. Кошмары сделаны из такого кода. – k0pernikus

+1

Либо поместите HTML в HEREDOC, либо удалите теги PHP и испустите его как обычный HTML. Результаты будут МНОГО чище. Кроме того, проверьте консоль JS на наличие сообщений об ошибках. –

+0

@ k0pernikus, Это был кошмар. Я не создавал код, я был тем, кому нужно войти и исправить все это дерьмо. Любые предложения по очистке кода? – 420DankStank

ответ

0

Эта часть неправильная.

$j("#note").ajaxComplete(function(event, request, settings) 
{ 
    $j(this).html(msg); 
}); 

Необходимо удалить код ajaxComplete.

$j.ajax({ 
    type: "POST", 
    url: "' . $cs_base_dir . 'verify.php", 
    data: str, 
    success: function(msg){ 
     $j("#note").html(msg); 
    } 
}); 
+0

Полностью сработал! Ты мой герой! Глупый ajaxComplete. Разве это не нужно из-за JQuery 1.9? Я думал, что это необходимо, потому что действие используется и завершено. Таким образом, необходимо показать msg после завершения ajax. Он работал ранее, но я думаю, что мой сайт обновил Jquery, а плагин написан на жестком диске с использованием v1.6. Еще раз спасибо! – 420DankStank

+0

@ 420DankStank: Нет, не из-за 1.9. Функция «success: callback» - это все, что вам нужно в любой версии. '$ .ajaxComplete' должен назначить более общую функцию, которая вызывается в любое время * любой запрос' '$ .ajax' завершается. Вы делаете это за пределами любого другого запроса. – 2013-04-17 23:51:22

+0

Я вижу. Спасибо. Вы уменьшили мою головную боль на два дня. – 420DankStank

Смежные вопросы