1

$i 变量是每个字段,并填充在“inp”框中,这些框只是输入框和 sbox,它们只是选择框。页面加载时只有一个表单,它具有添加培训师的所有条件。第一个表格中的培训师姓名为 trainer_name1。如果他们选择点击新按钮,他们可以填写另一位培训师的信息,第二个表单的“姓名”输入框将只是 trainer_name2,所有其他字段分别命名为表单中的名称。随着新表单的内置,只需将下一个连续数字添加到可能命名的任何字段的末尾。

这是我的代码:

<fieldset><legend>Trainer Request</legend></fieldset>
<tr><td><input type='button' onClick="if (show_item(1,10, 0)) { this.style.display = 'none'; }" value='New'></td></tr>
<?php
$contact_array = array('ACCEPTED TRAINING','DECLINED TRAINING','LEFT MESSAGE FOR TRAINING ACCEPTANCE',
        'NEED TO CONTACT TO SEE IF INTERESTED',
        'NEED PAPERWORK/TRAINING',
        'NEED SIGNED CONTRACT AND PAPERWORK',
        'NEED TO COMPLETE TRAINING');

for ($i = 10; $i > 0; $i=$i-1)
    {
    echo "<table id='hidden$i' style='display:none;'><tr>";
    echo "<td>Date</td><td>Status</td></tr>";  
    echo "<tr><td>"; inp("date$i"); echo "</td><td>";
    sbox("contact$i", $contact_array, 0, 'wide2');
    echo "</td></tr>

    <tr><td>Facility</td><td>"; 
    inp("facility$i",50);   echo "</td></tr>";
    echo "<tr><td>Trainer Name</td><td>";
    inp("trainer_name$i",35);
    echo "<tr><td>Distance From</td><td>";
    sbox("distance_from$i", array('1','2','5','10','15','20','25','30','40','50','60','70','80','90','100'));
    echo "</td></tr>

    <tr><td>Phone</td><td>";
    inp("phone$i",13,'phone');
    echo "</td><tr><tr><td>Email</td><td>";
    inp("email$i",50);
    echo "</tr><tr><td>Address 1</td><td>";
    inp("addr1$i",50);
    echo "</tr><tr><td>Address 2</td><td>";
    inp("addr2$i",10);
    echo " City ";
    inp("city$i",20);
    echo "</td></tr><tr><td>State</td><td>";
    inp("state$i",2);
        echo " Zip ";
    inp("zip$i",'zip');
    echo "</td></tr><tr><td>Notes</td><td>";
    tbox("notes$i", 40, 3);
    echo "</td></tr></table>";
    }
?>

<script type='text/javascript'>
show_item(1,10,1);
</script>

正如您在此处看到的那样,我正在构建一个链接,该链接将命名该链接,无论培训师的名字是什么,在这种情况下,trainer_name1 是 Tim Jackson,所以我刚刚用他的名字建立了一个超链接。

<?php
// print_r ($_GET);

    echo sendback_link($_GET['trainer_name1'], 'ACS/TrainerLookup', 'trainer_id=trainer_code&trainer_name=trainer_name'); 


?>

我很困惑如何将这样的动态链接添加到 for 循环中,以便表单构建 1 - 10,每个 trainer_name2、trainer_name3、trainer_name4 等都将具有超链接的名称。

我想我为数字 1-10 创建一个新变量并将其附加到 $_GET[trainer_name$].. 类似的东西?

我希望这是有道理的,任何帮助将不胜感激。

4

1 回答 1

0

如果我正确理解了您的问题,那么您正在尝试在已经使用 PHP 生成的网页上添加更多内容或替换内容。

我认为您正在尝试做的事情可以使用 AJAX 来实现。AJAX 是一种用于创建动态网页的技术。AJAX 允许通过在后台与服务器交换少量数据来异步更新网页。这意味着可以更新网页的部分内容,而无需重新加载整个页面。

在您的情况下,该过程可以分为 3 个步骤:

  • 浏览器向您的服务器发出新请求(使用 javascript)
  • 服务器处理请求并将一些信息发送回浏览器
  • 浏览器处理该信息(再次使用 javascript),然后更新网页的一部分

这里有一个示例,显示了如何动态更改网页内容。

不过,如果允许,我建议您使用 jQuery 之类的 javascript 框架,它可以简化整个过程(谷歌下载和使用说明)。

您可以在此处阅读有关将 AJAX 与 jQuery 结合使用的信息,并阅读以下示例以更好地了解如何使用它。

如果您打算尝试将 AJAX 与 jQuery 一起使用或仅使用 AJAX,我建议您在测试页面上尝试它以获得一个简单的工作示例,然后添加一些内容并检查一切是否按预期工作。当测试页面按预期工作时,将代码导入您的页面。

我就是这样做的,可能有更好或更简单的方法来做到这一点。

于 2013-06-21T07:23:15.440 回答