在表中使用 JavaScript 获取 PHP 输出

grab php output using javascript in table

本文关键字:获取 PHP 输出 JavaScript      更新时间:2023-09-26

我有一个从php生成的HTML表。 当有人在下拉列表中选择特定答案时,我利用javascript来做一些事情。 我关心的表格部分在这里:

<td style="display:none;">
<?= $lineID ?>
<value="<?= $lineID ?>"></td>
<td>
<?= $resolution ?><br>
<value="<?= $resolution ?>">                    
<select name="resolution[]" class="inputbox" onchange="submitResolution(this.value)">               
<option value="null">
</option>               
<option value="nightmareAlias.php">ADD NEW ALIAS</option>
<option value="NO PROBLEM">NO PROBLEM</option>
</td>

这是当有人选择"添加新别名"时

操作的脚本
<script>
function submitResolution(str) {
  console.log(str);  
  if (str =="nightmareAlias.php") {
      document.getElementById("txtHint").innerHTML="";
      $("#txtHint").load(str);
      return;     
  }
}
</script>

现在 - 这工作得很好。 当有人选择添加新别名时,他们将被重定向到噩梦别名.php页面。 当该页面加载时,我需要找到一种方法,不仅要submit(this.value),而且几乎要提交该人正在操作的表上的行的行ID

如何传递此值?

<select name="resolution[]" class="inputbox" data-lineid="<?= $lineID ?>" onchange="submitResolution(this)">                              
    <option value=""></option>
    <option value="nightmareAlias.php">ADD NEW ALIAS</option>
    <option value="NO PROBLEM">NO PROBLEM</option>
</select>

您需要使行 ID 可用,我已将其作为属性包含在选择标签中。然后将this作为参数而不是this.value传递,以便您可以完整地访问该对象。

<script>
    function submitResolution(sel) {
        console.log(sel);  
        if (sel.value === "nightmareAlias.php") {
            document.getElementById("txtHint").innerHTML="";
            $("#txtHint").load(sel.value + '?lineID=' + $(sel).data('lineid'));
            return;     
        }
    }
</script>

然后将查询参数添加到 URL。您需要在 nightmareAlias.php 中处理 GET 请求以进行lineID

请注意使用 === 而不是 ==,也值得将 JavaScript 和 HTML 分开。对于您在这里尝试做的事情,我可能会使用 .change()