我正在使用动态DIVS使用html和jquery构建一个结构,其中客户端报告div的描述,然后我为div及其描述添加一个数字,该div不在表单中。我需要检索所有这些信息以发送到表单。
如何从div中检索所有信息?
将此信息传递给服务器的最佳方法是什么?
我的想法如下,当我点击发送然后它读取所有div并检索div id及其描述,所以我以我的方式安装结构示例:1div:description = 2div:description = 3div:description, 在我挂载这个结构之后,我把这个数据传递给一个输入类型的文本,它隐藏在我的页面中,并且在我的表单标签内然后发送,在服务器端我把这个信息恢复到正常状态,这是正确的吗?但是我可以阅读我的div中包含的信息
$('#add').click(function(){
var number = $('div.children').filter(function(idx){
return $(this).text() != ""
}).length;
var newdiv = '';
newdiv+='<div class="children">';
newdiv+=' <b> Div '+(number+1)+' </b>';
newdiv+=' <p>descript: this is div '+(number+1)+'</p>';
newdiv+='</div>';
$('#DivFather').append(newdiv);
return false;
});
$('#send').click(function(){
alert('id:div1-descript:this is div 1=id:div2-descript:this is div 2');
return false;
});
div div {
height: 50px;
background: red;
margin: 15px;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="DivFather">
<div class="children">
<b> Div 1 </b>
<p>descript: this is div 1</p>
</div>
</div>
<a href="" id="add" class="btn btn-primary"> Add Div </a>
<a href="" id="send" class="btn btn-primary"> Send form </a>
答案 0 :(得分:0)
如果我理解正确您已将某些信息添加到DIVs
,那么当用户点击SEND
时,您会读取想要阅读DIVs
并将其发送到服务器之类的如果它们是INPUTs
中的form
。
1st)如果你有&#34; raw&#34;预先放入DIV
的信息,使用该信息而不是从div
再次阅读。
这样做的一种方法是使用信息保存javascript数组,并将数组的索引设置为用户单击或选择的元素。您可以在元素(data-id
)上使用data-id="1"
属性。当元素被clidcked时,你使用jQuery attr获得id(&#39; data-id&#39;)。您还可以设置元素的id或使用包含id的类并从那里搜索它,但data-
属性非常方便。
第2条)要发送信息,请参阅jQuery的$.ajax()
或$.POST()
,这样您就可以发帖并在“数据”中以多部分形式发送信息。属性。
jQuery.ajax({
url : 'http://www.example.com',
type : 'post',
data : {
dataField1 : 'some value',
dataField2 : 'some value',
dataField3 : 'some value',
dataField4 : 'some value',
},
success : function( response, textStatus, jqXHR ) {
// In response you get what the server sends back
},
error : function(jqXHR, textStatus, errorThrown ){
//log to the browser console
console.log(jqXHR);
},
beforeSend: function(jqXHR, settings ){
//disable the send button after it is clicked
jQuery("#sendButton").addClass( "disabled");
},
complete : function(jqXHR, textStatus ){
//Enable send button when we are back
jQuery("#sendButton").removeClass( "disabled");
}
});