2013-07-22 83 views
0

我想通過ajax獲取數據,然後通過表單發送。但它似乎沒有工作。任何想法我做錯了什麼?jquery,通過ajax獲取數據然後提交表格

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> 

<form method="get" action="test.php"> 
    <input id="myvar" type="hidden" name="albumid" /> 
    <button type="submit" id="btnsubmit">Submit</button> 
</form> 

<script type="text/javascript"> 
    $('form').submit(function() { 
    $.ajax({ 
      url: "newAlbum.php", 
      success: function(data){ 
      var album = data; 
       $('#myvar').val(album); 
      } 
      }); 

    }); 
</script> 

newAlbum.php

<?PHP echo '11'; ?> 

test.php的

<?php echo $_GET["albumid"]; ?> 

回答

0

好的嘗試添加如下:

$('form').submit(function() { 
     $.ajax({ 
     url: "newAlbum.php", 
     async:false, 
     success: function(data){ 
     var album = data; 
      $('#myvar').val(album); 
     } 
     }); 

}); 
+0

addded數據參數,但它似乎ajax返回false,不讓我提交表單。所有我在newAlbum.php上都是echo 11 – user2570937

+0

你可以嘗試在成功函數上給出'return true;'嗎? – Prabhuram

+0

同樣的事情。當我點擊提交時,沒有任何反應,這是我所有3頁的更新代碼: http://pastebin.com/49wczwsG – user2570937

-1

嘗試接收該數據作爲JSON

​​
0

正如別人指出的 - 你需要添加data參數。但是我也會使用$(this).serialize(),因爲它會獲取所有表單輸入元素。

<script type="text/javascript"> 
    $('form').submit(function() { 
     $.ajax({ 
      url: "newAlbum.php", 
      data: $(this).serialize(), 
      success: function(data){ 
      var album = data; 
       $('#myvar').val(album); 
      }, 
      error : function(data) { 
       console.log(data); 
      } 
      }); 
    }); 
</script> 
+0

我添加了數據參數,但似乎ajax返回false並且不讓我提交表單。我在newAlbum上的所有內容都是echo 11 – user2570937

+0

我添加了一個錯誤處理程序並刪除了'return false;'。檢查控制檯(Chrome中的F12)以查看錯誤是什麼。 – luttkens