gpt4 book ai didi

php - 在 while 循环中从 php 调用 javascript

转载 作者:行者123 更新时间:2023-11-30 18:41:54 25 4
gpt4 key购买 nike

我希望有人能帮助我,我一直在努力,我有一个来自和内部的表格是有列的表格。它从 Mysql 表中检索数据。在第 2 列中显示当前信息,在第 3 列中显示用于更新值的表单选项,例如:

First name:  John  [Form field to update]
Date of birth: 1970-01-01 [form field to update]

我特别努力让 java 脚本为弹出式日历运行。如果我从 html 运行它,它工作正常,但是当我在 php 中运行它时,我无法运行它,因为它在 while 循环中显示表单:

<head>
<script src="datetimepicker_css.js"></script>
</head>
<body>

<?php

.....

$sql2="SELECT * FROM em_detail WHERE id = '$data1'";
$result2=mysql_query($sql2);

echo "<form action='upd_emp.php' method=post>";

while($row2 = mysql_fetch_assoc($result2)) {
$id_2 = $row2['id'] ;
.....

echo "<tr>";
echo "<td height=35px><strong>Date of Birth: </strong></td>";
echo "<td>$dob_2</td>";
echo "<td><input size=30 type=Text name=dob id=demo1/></td>";
echo "<td align=left><img src=images/cal.gif onclick=javascript:NewCssCal('demo1') style=cursor:pointer/></td>";
echo " </tr>";

最佳答案

它不起作用,因为在循环中打印出的每一行中,相应的输入具有相同的 ID — demo1 .

HTML 中的 ID 在所有元素中都应该是唯一的。这意味着打开的每个日历都会查找 ID 为 demo1 的输入。 , 它总能找到相同的。

您需要确保每一行中的输入都有一个唯一的 ID。您可以使用您拥有的变量,$id_2 ,或者您可以为循环的每次迭代递增一个计数器并使用它。然后,您将在 id 中使用该唯一编号。的 <input>onclick用于日历触发器。

<?php
//...
$counter = 0;
while($row2 = mysql_fetch_assoc($result2)) {
$id_2 = $row2['id'] ;
?>
<tr>
<td height="35"><strong>Date of Birth: </strong></td>
<td><?php echo $dob_2; ?></td>
<td><input size="30" type="text" name="dob_<?php echo $id_2; ?>" id="demo_<?php echo $counter; ?>"/></td>
<td align="left"><img src="images/cal.gif" onclick="NewCssCal('demo_<?php echo $counter; ?>');" style="cursor:pointer"/></td>
</tr>
<?php

$counter++;
}

此外,我还对代码进行了以下更改:

  • name 输入的也应该是唯一的。
  • 您应该在 HTML 中使用引号将属性值括起来
  • 如果您的 HTML 代码没有变量,则无需回显 - 只需使用 ?><?php当您想返回 PHP 代码时。
  • javascript:onclick 中不需要属性 — 它们始终是 Javascript,并且 javascript:只是成为未使用的标签。

关于php - 在 while 循环中从 php 调用 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6627084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com