2017-02-27 31 views
0

我試圖每次使用data-name提交姓名時都要跟蹤。我如何提醒用戶讓他們知道內容是否已發佈到網站上,以及提交了哪些其他名稱。如何跟蹤所有已提交的輸入

<div id="container"> 
    <form method="POST" action="#"> 
    <label class="large">Please enter your name 
     <input id="textbox" class="name" data-name="" pattern="[a-zA-Z0-9]{1-45}"> 
    </label> 
    </form> 
</div> 

這是JQuery的我使用的是:

//When the form is submitted 
$("#form").submit(function(){ 
    //get the value of the input 
    var input = $('#textbox').val(); 

    //insert it into the data-name attribute 
    var name = $("#textbox").attr("data-name", input); 

    //Aler the user 
    $("input[data-name]").val(function(){ 
    alert($(this).data('name')); 
    }); 

}); 
+0

如何在數據得到持續?提交表單通常涉及頁面刷新或重定向,因此您需要通過某種服務器端代碼更新值。另外,我不確定你爲什麼在'val()'中使用函數。你應該使用'$(「input [data-name]」).val(name)',但是由於你剛剛從$('#textbox')中取出了值,所以有點令人困惑。所以整個代碼是沒有操作的。 –

回答

0

我認爲你的jQuery選擇不正確。

$("#form")表示它正在定位一個id爲「form」的元素。爲了做到這一點,你需要給你的表單元素一個表單ID。例如。 <form id="form" method="POST" action="#">

但是,爲了提醒文本框的值,您不需要將該值放入數據名稱屬性中,而是在提交時將值從表單中提取出來。

$('#myForm').submit(function(e){ 
    alert(e.target.foo.value); 
}) 

請參閱下小提琴,對於一個例子:

https://jsfiddle.net/dgw3bw63/

+0

謝謝,但可以輸出已提交的所有以前的輸入嗎? – Lawl

+0

當然,將它們存儲在一個數組中! https://jsfiddle.net/dgw3bw63/1/ – derp