我有div
<div id="ip">
<input type="text" name="first" value="cobra" class="mark1"/>
<input type="text" name="second" value="python" class="mark2"/>
</div>
我正在将它串行化,
$('div#ip:input').serialize();
如果我serialization
以上div
我只会获得价值,但我也想要element
,有没有什么好方法可以做到这一点,或者我必须存储整个html
{1}} element
进入我的database
,如上div
,实际上它将是巨大的。
我的问题:将html element
存储到database
之内的最佳方法是div
,其所有values,names,classes fields
必须完好无损。
我在服务器端使用php
。
最后一个问题:存储html element
是唯一的方法吗?
答案 0 :(得分:3)
您可以使用outerHTML获取序列化的HTML片段。
然后使用toString()
将其转换为字符串。稍后您可以将此字符串保存在数据库中。它会将值与标签一起保存。
var a = (document.getElementById("ip").outerHTML);
a.toString();// convert to string. Save this string in database
稍后使用jquery parseHTML
将此字符串转换为html并重绘dom
// demodiv is a placeholder to convert string to html and repaint the dom
$("#demoDiv").append($.parseHTML(a)) // a is the value retrieved from db
答案 1 :(得分:2)
您可以循环获取每个输入类的值和名称,然后对服务器执行ajax调用并将数据保存到db:
var data =[];
$('input,textarea,select').each(function(){
data.push({
class:$(this).attr('class'),
name:$(this).attr('name'),
value:$(this).val();
});
});
console.log(data);
答案 2 :(得分:1)
您可以使用以下代码:
$("#ip").clone().html()