2013-03-02 97 views
1

我對編程比較陌生,但瞭解HTML,CSS和Javascript(包括jQuery)的基礎知識。由於我的綠色環保,如果答案包含一個簡單的解決方案和爲什麼該解決方案有效的原因,我會很感激。謝謝!如何訪問Javascript中用戶提交的表單數據?

所以我有一個形式,一個文本輸入和一個提交按鈕:

<form> 
<input type="text"> 
<button type="submit">Submit</button> 
</form> 

當用戶輸入數據到文本字段,並點擊提交,我怎麼獲取這個數據?如果用戶輸入他們的名字,我該如何獲取這些信息?我不打算將它存儲或寫入任何地方,只是爲了將它保存爲JavaScript中的變量,我將其分配給jQuery cookie。

那麼,如何訪問用戶提交的數據,最好只使用JavaScript(使用jQuery)?謝謝您的幫助!

回答

0

說你有一個HTML的輸入標籤,如:使用JavaScript

<input id="textfield" type="text"> 

,你可以在字段的值存儲在像變量這個:

var inputvalue = $('#textfield').val(); 

當然,你需要一些東西來運行腳本。

這個工作的原因是textfield是一個對象。你可能會認爲它是一種樹幹,有不同的枝條出來。這些「分支」之一就是其中包含的值。既然你知道jquery,你知道$('#textfield')通過選擇器獲取元素。這段時間表示我們正在獲得其中一個分支,「價值」表示我們希望分支能夠告訴文本字段中的內容。

希望這有助於。

+0

'$(「#textfield」).value'將不起作用 – 2013-03-02 00:18:12

+0

我用div替換了表單中的按鈕,因爲它是一種按鈕排序的混亂情況。該div有一個'upl();'的onclick。在我的Javascript中,函數'upl()'看起來像這樣: 'function upl(){ var inputvalue = $(「#textfield」).value; 控制檯。log(inputvalue);' 我忘了提及,在我的HTML中,我在文本輸入中添加了「textfield」的ID。當我現在點擊按鈕時,它所有的日誌都是「未定義的」。我做錯了什麼? – 2013-03-02 00:25:00

+0

oops。應該是var inputvalue = $('#textfield')。val()在jquery中。編輯。 – 2013-03-02 00:53:18

3

您訪問服務器端的數據(例如通過$_POST['username']在PHP中)。該形式將數據發送到您的服務器的任何命名輸入,所以你可能將不得不改變輸入到:

<input type=text name=username> 

如果您要訪問它的客戶端(使用JavaScript),你也可以這樣做,但你必須防止形式從提交:

$("form").on('submit', function (e) { 
    $.cookie('username', $(this).find('[name=username]').val()); 
    //stop form from submitting 
    e.preventDefault(); 
}); 
+0

我絕對在訪問客戶端,因爲我對PHP一無所知。我知道這意味着我不能以任何其他方式存儲數據,而不是使用cookie,這就不用擔心了。 要獲取用戶名值到一個變量而不是一個cookie,它會只是 'var un = $('username')。find('[name = username]')。val();'存儲變量'un'中的用戶名? – 2013-03-02 00:10:30

+0

@IanZane關閉。 ''用戶名'試圖選擇一個像''這樣的實際元素。我使用了'this'(你也應該),這是提交的表單元素。 – 2013-03-02 00:11:26

+0

非常感謝!我一定會牢記這一點! – 2013-03-02 00:17:04