如何通过javascript代码或jquery代码更改PHP代码?

时间:2017-04-27 14:35:36

标签: javascript php jquery html

如何用这个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);  

请提供一些帮助。感谢您将来的帮助。

2 个答案:

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