有没有办法获得表单元素及其相关值

时间:2016-12-16 05:17:26

标签: javascript php jquery

我有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是唯一的方法吗?

3 个答案:

答案 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

DEMO

答案 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()