2012-01-19 7 views
1

мне удалось получить следующий код, чтобы работать, чтобы отправить форму с помощью AJAX и обновления результатов DIV моего сайта, он работает отлично ...AJAX/Jquery трудности формы представления

<script type="text/javascript"> 
$(document).ready(function(){  
    $("#myform").validate({   
    debug: false,  
    rules: {   
     guess: {    
      min: 0,     
      number: true    
      }  
      },  
    messages: {   
     guess: "Please enter a valid guess.",  
     },  
    submitHandler: function(form) {    // do other stuff for a valid form    
    $.post('process.php', $("#myform").serialize(), function(data) { 
       $('#results').html(data);   
    });   
    } 
    }); 
}); 
</script> 

я прав в мышлении, что если у меня есть другая форма, которую я хочу отправить на «process2.php», которая обновляет другую часть веб-страницы, мне нужно иметь другую копию того же скрипта, но эффективно называть вторую форму «form2» и отслеживать #myform -> # myform2 и #results -> #new_div ??

Я попытался заставить его работать на полной новой странице, и он работает нормально, когда я прошу его распечатать что-то из process2.php на экране, но когда я попытаюсь заставить его что-то сделать с переданными переменными (в этом случае имя и адрес электронной почты), он даже не распечатывает результаты php.

моего process.php ВСТАВКИ догадки (число) в базу данных догадок .. наряду с member_id (также номер) ..

Я понятия не имею, что я делаю неправильно. Кажется, что когда я включаю wp_blog_header.php в свой process2.php (однако этот заголовок находится в process.php WHICH WORKS FINE) .. если я не включаю эту строку, мое соединение с базой данных терпит неудачу, и я не могу ВСТАВИТЬ в таблицы ...

Я понятия не имею, что еще я могу сделать или какую дополнительную информацию мне нужно?

моя новая форма

Имя Email

и мой новый javafunction становится

script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script> 
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    $("#myform2").validate({ 
     debug: false, 
     rules: { 
      name: "required", 
      email: { 
       required: true, 
       email: true 
      } 
     }, 
     messages: { 
      name: "Please let us know who you are.", 
      email: "A valid email will help us get in touch with you.", 
     }, 
     submitHandler: function(form) { 
      // do other stuff for a valid form 
      $.post('process2.php', $("#myform2").serialize(), function(data) { 
       $('#results').html(data); 
      }); 
     } 
    }); 
}); 
</script> 

Является ли это проблемой с моим кодированием, или что-то делать с моей process2.php (что почти точно так же, как и мой process.php), кроме того, что я ВСТАВЛЯЮ В другую таблицу базы данных, имя и адрес электронной почты ... но, похоже, это не работает ...

поэтому код в PHP похож на «INSERT в 'new_table' ('name', 'email') VALUES (". $ _POST ['name'] "," $ _POST ['email']. ")";

, но как только у меня есть строка

включают (сор-блог-header.php), кажется, падать ... Hmmmmmm - Я так потерял :(

+0

Возможно, стоит установить что-то вроде [Firebug] (http://www.getfirebug.com), чтобы вы могли видеть AJAX звонки, а также полученные ответы. Это даст вам представление о том, является ли это проблемой с вашим Javascript или кодом на стороне сервера. –

+0

что AJAX работает, потому что он распечатывает тест (т. Я сделал process2.php пустым, просто напечатав «TESTING») ... поэтому форма вызвала process2.php, и она завершилась, поэтому для меня это похоже на то, что я использую для использования функций wordpress. – mayhem3030

ответ

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