传递HTML嵌入式PHP w / innerHTML

时间:2015-06-02 18:32:40

标签: php html innerhtml

我需要能够在单击按钮时将其他行添加到以下表单组。 PHP语句回显了基于数据库中记录的选择输入的动态选项列表。

  <h3>Check 1:</h3>
  <div class="row" id="check_1">
      <div class = "col-md-4 padding-top-10">
          <label for="checkJobName_1" class="control-label">Job/Client Name:</label>
          <select class="form-control" id="checkJobName_1" name="checkJobName_1">
              <option selected disabled>Choose a Client/Job</option>
              <?php echo $dynamicJobList; ?>
          </select>
      </div>

      <div class = "col-md-4 padding-top-10">
          <label for="checkNumber_1" class="control-label">Check #:</label>
          <input type="text" class="form-control" id="checkNumber_1" name="checkNumber_1" placeholder="Enter Check #"/>
      </div> 

      <div class = "col-md-4 padding-top-10">
          <label for="checkAmount_1" class="control-label">Check Amount:</label>
          <input type="text" class="form-control" id="checkAmount_1" name="checkAmount_1" placeholder="Enter $Amount of Check"/>
      </div>                    
 </div>

这是我写的javascript函数:

function addCheck()
{
            check_i++;
            var checkDiv = document.createElement('div');
            checkDiv.innerHTML = '<h3>Check '+check_i+':</h3><div class="row" id="check_'+check_i+'"><div class = "col-md-4 padding-top-10"><label for="checkJobName_'+check_i+'" class="control-label">Job/Client Name:</label><select class="form-control" id="checkJobName_'+check_i+'" name="checkJobName_'+check_i+'"><option selected disabled>Choose a Client/Job</option><?php echo $dynamicJobList; ?></select></div><div class = "col-md-4 padding-top-10"><label for="checkNumber_'+check_i+'" class="control-label">Check #:</label><input type="text" class="form-control" id="checkNumber_'+check_i+'" name="checkNumber_'+check_i+'" placeholder="Enter Check #"/></div><div class = "col-md-4 padding-top-10"><label for="checkAmount_'+check_i+'" class="control-label">Check Amount:</label><input type="text" class="form-control" id="checkAmount_'+check_i+'" name="checkAmount_'+check_i+'" placeholder="Enter $Amount of Check"/></div></div>';
            document.getElementById('checks').appendChild(checkDiv);        
    }

但它不起作用,如果HTML中嵌入的PHP语句我试图附加到“检查”表单组...你会怎么做?

2 个答案:

答案 0 :(得分:1)

Php是一种完整的服务器端语言,这意味着没有

你最好的选择是对你的数组进行json_encode并通过ajax调用或你的php顶端代码区发送它。

文件1:

$array = array("data1" => array() ....);
echo json_encode($array);

你的html(带jquery):

$.post("file1 uri" , function(data) {
    var json = JSON.parse(data);
    foreach (var x in json) alert("x: " + x + " json[x]" + json[x]);
});

答案 1 :(得分:0)

PHP是一种服务器端语言,它将数据发送到客户端并响应请求。

Javascript是一种客户端语言,可以改变客户端正在查看的内容,而不是服务器所知道的内容。

让它们一起工作的唯一方法是在jQuery中使用AJAX调用。