如何在用户点击一行而不刷新页面时填写表单?

时间:2009-11-10 13:10:38

标签: php html ajax

我有一份报名表。在它下面,我想显示一个包含现有记录的网格。当用户单击网格的一行时,必须在上面的表单的字段中填充值。

有没有办法在不刷新页面的情况下这样做?

3 个答案:

答案 0 :(得分:1)

如果页面上已经存在表单所需的所有信息,那么AJAX就会过度使用而且简单的Javascript可以完美地完成工作。这没有经过测试,但是;

<form id="myform">
  <input id="name" type="text" ... />
</form>

<tr> 
   <td onclick="populateFormElement('myform', 'name', this);">Bob</td>
</tr>

在javascript中;

function populateFormElement(formName, inputName, element)
{
   document.formName.inputName.value = element.firstChild.data;
}

这适用于单个元素,但应该是一个合理的起点,因为该过程很容易适应整行。只需将onclick事件放在tr元素上,然后逐步遍历各个子元素即可提取相关数据。

答案 1 :(得分:1)

  

有没有办法在不刷新页面的情况下执行此操作?

因此,关键是异步A中的第一个Ajax代表同一个词。您还使用Ajax标记了问题。所以我希望你对此有一定的了解。

但实际问题根本不需要一个合法的解决方案。您根本不需要从服务器端发送和接收数据,只是因为所有需要的数据已经在相同的 HTML DOM树中可用。

唯一可以在客户端访问和遍历HTML DOM树的语言是Javascript。它根本不刷新页面。只需相应地编写代码并在表行的onclick事件期间执行它。

如果您在编写相应的Javascript代码时遇到问题,那么您需要在问题中详细说明。不要问“有什么办法吗?” - 答案是99.99%的案例yes,但只是询问“我该怎么做?”,提供有关您目前编码的相关信息。

答案 2 :(得分:0)

Go get JQuery,看看它的AJAX函数。您需要使用PHP准备数据,并创建一个特殊页面来为它们提供服务。当用户点击按钮时,将调用AJAX函数,它将从服务器加载数据,然后它将解析它们,并填充网格......