【问题标题】:passing HTML embedded PHP w/ innerHTML传递 HTML 嵌入式 PHP w/innerHTML
【发布时间】:2015-06-02 18:32:40
【问题描述】:

我需要能够通过单击按钮将其他行添加到以下表单组。 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 语句我试图附加到“检查”表单组中,它不起作用……你会怎么做?

【问题讨论】:

  • 你不能在客户端运行php。 php 是一种纯粹的服务器端语言。如果您希望将 php 输出插入到任何 JS 插入的内容中,则必须进行 ajax 调用以获取 php 输出。

标签: php html innerhtml


【解决方案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]);
});

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2021-12-26
      • 2017-02-05
      • 1970-01-01
      • 2015-11-01
      • 1970-01-01
      • 2017-09-20
      • 1970-01-01
      • 1970-01-01
      • 2019-05-04
      相关资源
      最近更新 更多