我想在按钮点击时将输入元素的名称和值存储在数据库中。所以我想把名称作为关键和价值作为价值。
<form id="form">
<input type="text" name="fname" value="a">
<input type="text" name="lname" value="b">
<input type="button" value="submit">
</form>
我在点击按钮时使用此jquery代码来获取值。
$('#form input').each(function(key, value) {
alert(this.value);
});
请帮助将名称和值作为键值对(json格式)。
答案 0 :(得分:1)
试试这个:
var obj = {};
$('#new_user_form input, #new_user_form select').each(function(key, value) {
obj[this.name] = this.value;
});
答案 1 :(得分:1)
$('#form').submit(function(e) {
e.preventDefault(); // prevent form from submission.
var $form = $(this);
var url = $form.attr("action");
console.log(url);
var data = $form.serializeArray(); // check out this console log everything is in key-value pair.
console.log(data);
var $divDisplay = $("#key-value-display");
$divDisplay.html(data);
$.ajax({
url: url,
data: data,
}).done(function(response) {
//work with response here.
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="form" action="url.php or asp.net whereever you are processing" method="post">
<input type="text" name="fname" value="a">
<input type="text" name="lname" value="b">
<input type="submit" value="submit">
</form>
<div id="key-value-display"></div>
答案 2 :(得分:0)
如果您希望每个输入的单个JSON
字符串使用JSON.sringify()
和对象文字。
$('input[type="text"]').each(function () {
var obj = {};
obj[$(this).attr('name')] = $(this).val();
alert(JSON.stringify(obj));
});
<form>
<input type="text" name="fname" value="a">
<input type="text" name="lname" value="b">
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
或者,创建一个对象文字数组。
var inputs = [];
$('input[type="text"]').each(function () {
var obj = {};
obj[$(this).attr('name')] = $(this).val();
inputs.push(obj);
});
console.log(JSON.stringify(inputs));