2016-03-10 68 views
1

由於HTML,JavaScript和所有屬於它的東西對我而言是非常新鮮的東西,我經常會遇到某些問題。不能讓我的帖子()使用jQuery Ajax工作

今天我的問題是,我不知道如何讓我的腳本發佈()我放入我的輸入字段。

我有3個輸入字段在我的HTML應該採取名字,姓氏和電子郵件,並將其發送到數據庫(MySQL),當我按下按鈕執行該功能。

簡單地說,我的HTML看起來像這樣:

<form id="regForm"> 
     <div> 
      <label for="firstname">Firstname</label> 
      <input id="firstname" type="text" name="firstname"/> 
     </div> 
     <div> 
      <label for="lastname">Lastname</label> 
      <input id="lastname" type="text" name="lastname"/> 
     </div> 
     <div> 
      <label for="email">Email</label> 
      <input id="email" type="email" name="email"/> 
     </div> 
      <button id="regBtn" type="button">Click Me</button> 
    </form> 

現在到了棘手位:(我的腳本文件:

$(document).ready(function() { 
    $("#regBtn").click(function() { 
     $.post("example.ex/register") 
     //I dont know what to do here// 
    }); 
}); 

...我已經尋找並嘗試了一些例子但是我做的事情錯了。 這樣的事情?

//This is an example// 
    $(document).ready(function() { 
    $("#regBtn").click(function() { 
     $.post("example.ex/register"), 
     { 
      firstname: "#firstname", 
      lastname: "#lastname", 
      email: "#email" 
     } 
    }); 
}); 

我怎麼把我的名字,拉斯tname和電子郵件從我的輸入作爲參數? 請幫我理解這是如何工作的。謝謝。

+0

您使用$ .post()的data:屬性發送。請記住,如果你用json之類的東西發送它,你必須使用JSON.parse(你的數據),這樣才能被這篇文章理解。只是一個頭。 – Casey

回答

0

你需要喲抓住輸入值。

在JavaScript與$('#firstname').val()

這是假設你的名字輸入了姓名

+0

這真的是所有需要的......男人......這麼簡單。我很親密:)感謝很多 – idkwat2do

0

你應該嘗試閱讀文檔API of jQuery的ID代替"#firstname"。在這裏您可以看到如何使用jQuery進行POST調用,包括示例。這會幫助你很長一段路。

但我會給你一點代碼,可以幫助你在正確的方向。

$(document).ready(function() { 
    $("#regBtn").click(function() { 
     $.post("example.ex/register", $('#regForm').serializeArray(), function(response) { 

     }); 
    }); 
}); 
+0

我設法讓它工作。我絕對會讀到這個,本週我開始學習jQuery,所以我會及時到達那裏。謝謝 – idkwat2do

0

標準的方式使用jQuery像下面的例子爲POST:

$.post("PAGE_URL", { DATA_TO_BE_SENT_GOES_HERE }); 

所以在你的榜樣,你需要使你的代碼如下所示:

$.post("example.ex/register", 
     { 
      firstname: $("#firstname").val(), 
      lastname: $("#lastname").val(), 
      email: $("#email").val() 
     }); 

的您的代碼塊出現問題是這裏的拼寫錯誤:

$.post("example.ex/register"), {YOUR_DATA}; 

而正確的應該是這樣的:

$.post("example.ex/register", {YOUR_DATA}); 

你只需提供其應與你的電話發送數據之前關閉該功能。

另一個isue解決的是,你最想在成功接收該操作是使用以下簽名成功完成,這是完成的數據來通知用戶,同時呼籲$.post()

$.post("PAGE_URL", { name: "Test", time: "10AM" }, success: FUNCTION_TO_EXCUTE_ON_SUCCESS()); 

做回到你的代碼,它應該是這樣的:

$.post("example.ex/register", 
     { 
      firstname: $("#firstname").val(), 
      lastname: $("#lastname").val(), 
      email: $("#email").val() 
     },success: function(){ 
alert("Action completed successfully") // please make a better UI decision than altering the user, this is just an example :) 
    }); 

希望這可以幫助。

+0

這就是我解決它的方式,謝謝你們在這裏的計算器。這比我想象的要簡單 – idkwat2do