如何用这个html代码的javascript或jquery替换PHP echo?
我的目的是使用jquery或javascript函数在html代码中插入变量名。通过这种方式,我可以使用不同的数据提交多种形式。
我的HTML:
<form id = "display" method="post" name="form_teste<?php echo $idteste;?>" action="detalhe_imovel.php">
<input hidden="hidden" name="idteste" value="<?php echo $idteste;?>">
</form>
<div id class="box--tete-item" onclick="document.form_teste<?php echo $idteste;?>.submit();">
我的jquery:
$.ajax({
...
success: function(data)
{
if(data.sucesso == "true" )
{
var i;
var newid;
for(i=id_val;i<data.numero;i++){
//Change the id in the form
newid = "display_" + data.out[i].id;
$('#display').attr('id', newid);
//change the name of the form???
//change the id in the onclick in the div???
}
}
else
{
...
}
}
});
我正在尝试这样的方法来更改表单的ID,但我不确定这会有效吗?
我的代码更改了表单的ID:
newid = "display_" + data.out[i].id;
$('#display').attr('id', newid);
请提供一些帮助。感谢您将来的帮助。
答案 0 :(得分:0)
HTML中的表单没有&#34;名称&#34;属性(你可以使用它,但它不会为你做任何事)。使用&#34; id&#34;在向服务器提交数据时,该属性也不会帮助您。
您似乎正在尝试根据通过AJAX收到的信息动态构建表单列表。可能会显示您可以添加到购物车的产品网格(在您的情况下为房屋),或类似的东西。如果这个假设是正确的,请继续阅读:
假设您正在使用jQuery或ZeptoJS(<form id="my-form-template" style="display:hidden" action="submit.php">
<input type="hidden" name="item_id" value="" />
<input type="submit" />
</form>
<div id="form-target-area">
</div>
),您可以先为表单创建模板:
var $formTargetArea = $('#form-target-area'),
$formTemplate = $('#my-form-template');
$.ajax({complete: function(data, status){
// .. check data integrity
$formTargetArea.empty(); // remove old forms from previous requests
for(var i=id_val;i<data.numero;i++){
var $newForm = $formTemplate.clone()
.appendTo($formTargetArea)
.show();
$newForm.children('input[name=item_id]').first()
.attr('value', i);
}
}});
(请注意,这里没有PHP代码 - 不需要)
然后在JS中,这样的事情:
{{1}}
(注意:没有测试代码 - 可能需要调整)
使用Angular,React,Ember等库可以更简单,更优雅的方式实现类似的结果。
答案 1 :(得分:0)
您可以使用Chrome控制台查看ID是否已更改。我使用javascript尝试,也许您可以调试看看。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title></title>
</head>
<body>
<a href="javascript:;" id="aid">点击修改id</a>
<input type="text">
<script type="text/javascript">
var a = document.getElementsByTagName('a')[0];
var input = document.getElementsByTagName('input')[0];
a.onclick = function () {
if(input.value!=''){
a.id = input.value + '_aid';
console.log(document.getElementById(input.value + '_aid'));//Output the result, indicating that id has changed
console.log(document.getElementById("aid"));//null
}else{
console.log("no");
}
}
</script>
</body>
</html>