2014-08-28 5 views
0

Я играю с этим часами сейчас, не могу понять это.href link jquery ajax form не будет отправлять данные

У меня есть страница signup.php с формой, которая обрабатывается с помощью AJAX. Если бы я должен был сделать эту страницу главной страницы и заполнить форму, он хорошо работает вызов URL: register.php в Ajax скрипта, но если я получить доступ к тому же самой signup.php страницы из мой главный index.php страница через ссылку href, которая разбивает ajax. Форма не работает. Зачем?

Вот мои коды (укороченные для уместности)

index.php Эта страница содержит ссылку на странице регистрации.

<div data-role="page" data-theme="a"> 
     <div data-role="header" data-position="inline"> 
      <h1>Carelincs</h1> 
     </div> 

     <div data-role="content" data-theme="a"> 
     <p>My main page content</p> 

     <a href="../views/signup.php">Register</a> 

     </div> 
</div> 

HRE

регистрацию PAGE- страницу с формой и AJAX

signup.php

<body> 
    <script>   
     $(document).ready(function() { 
      $("#submit").click(function() { 

       var formData = $("#register").serializeArray(); 

       $.ajax({ 
        type: "POST", 
        url: "../pages/register.php", 
        cache: false, 
        data: formData, 
        success: onSuccess, 

       }); 

       return false; 
      }); 
     }); 


     function onSuccess(data, status) { 

      data = $.trim(data); 
      $("#message").text(data); 
     } 

     function onError(data, status) { 
      data = $.trim(data); 
      $("#message").text(data); 
     } 
    </script> 
     <div data-role="page" data-theme="a"> 
      <div data-role="header" data-position="inline"> 
        <h1>Carelincs</h1> 

      </div> 
      <div data-role="content" data-theme="a"> 
       <form action="" method="POST" id="register"> 
        <input type="text" name="username" placeholder="Username" /> 
        <br /> 
        <input type="password" name="password" placeholder="Password" /> 
        <br /> 
        <input type="checkbox" name="chekbox-mini-0" id="checkbox-mini-0" data-mini="true" /> 
        <label for="checkbox-mini-0">Remember me</label> 
        <br /> <a href="../views/forogotpswd">Forgot Password</a> 

        <button type="submit" id="submit">Submit</button> 
       </form> <a href="../views/signup.php">Register</a> 

       <p id="message"></p> 
      </div> 
     </div> 
    </body> 
</html> 
+0

Вы уверены, что это не так? – Stryner

+0

no, кэш в сценарии установлен в false. Где еще он будет кэшироваться? – Keez

+0

У вас есть jQuery, импортированный в 'signup.php', правильно? – Gabor

ответ

0

После нескольких часов исследований и игры вокруг, я нашел проблему и решение благодаря @ guest271314 за подсказку.

<a href="../views/signup.php">Register</a> был запуск Аякса и завинчивание с формой, и все, что я должен был сделать его изменить, чтобы

<a href="../views/signup.php" rel="external">Register</a> 

Я добавил rel=external и альт, которые отключены Ajax для ссылки и мои формы работы правильно.

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