2013-03-07 70 views
0

我在PHP有点菜鸟,但我正在尝试开发一些带有表格和值编辑选项的后台。PHP设置窗体值

到现在为止,我有表所示:

enter image description here

但我有点这个问题窃听:

改变按钮正在实施这样的:

for ($i = 0; $i < count($a); $i++) { 
      ?> 
      <tr> 
      <td><i onclick=" 
      document.form1.deviceFeatValID.value = <?php echo $a[$i][DEVICE_FEATURE_VALUE_ID] ?>; 
      document.form1.deviceID.value = <?php echo $a[$i][DEVICE_ID] ?>; 
      document.form1.deviceClassFeatID.value = <?php echo $a[$i][DEVICE_CLASS_FEATURE_ID] ?>; 
      document.form1.deviceFeatureVal.value = <?php echo $a[$i][DEVICE_FEATURE_VALUE] ?>; 
      document.form1.submit();" class="icon-refresh" ></td> 
      <td><?php echo $a[$i]['DEVICE_FEATURE_VALUE_ID']; ?><td><?php echo $a[$i]['DEVICE_ID']; ?><td><?php echo $a[$i]['DEVICE_CLASS_FEATURE_ID']; ?><td><?php echo $a[$i]['DEVICE_FEATURE_VALUE']; ?> 
      </tr> 
      <?php 
      } 
      ?> 

也就是说,通过Javascript,我设置了这个表单的输入值,与.php相同:

<form name="form1" method="post" action="deviceFeatureValueFRM.php"> 
      <input type="hidden" name="deviceFeatValID"/> 
      <input type="hidden" name="deviceID"/> 
      <input type="hidden" name="deviceClassFeatID"/> 
      <input type="hidden" name="deviceFeatureVal"/> 
      <input type="hidden" name="hiddenTypeField"/> 
     </form> 

但是......你认为这是一个很好的做法吗?还有其他解决方案吗?!

这段代码的目标是检测哪一行即将被编辑。

亲切的问候,

山姆

+1

是的。为什么不在PHP中定义它们?此外,你使用的是突破性的JS这是不好的做法,... – BenM 2013-03-07 13:07:18

+0

我已经尝试过: 我离开了那个形式完好无损,而是刷新图标,我用提交输入按钮。但我怎样才能设置每个窗体隐藏的输入由PHP? 感谢您的快速响应BenM :) – Sammy 2013-03-07 13:11:19

回答

2

为什么这样做的JavaScript?只需给输入字段设置如下值:

<input type="hidden" name="deviceFeatValID" value="<?php echo $a; ?>"/> 

其中$a可以是任何您想要的变量。

+0

但表单旨在到另一个页面,我想知道哪个输入提交按钮被按下:)。 感谢您的快速响应SeanWM :) – Sammy 2013-03-07 13:13:30

+0

您可以通过为其分配不同的名称(或值)来轻松检测哪个'submit'元素被点击了... – BenM 2013-03-07 13:14:17

+0

好吧,如果您有固定数量的按钮,则可以这样做。但在我的情况下,我不知道,乍一看我有多少行:S 谢谢你的快速反应:) – Sammy 2013-03-07 13:20:13

0

那么,我会建议你有所有文件分开。假设你有一个PHP文件。一个文件用于Javascript,另一个用于HTML。所以,如果你想使用PHP函数或任何只需要通过AJAX调用它们。

这样你就会有一个更干净的代码和更安全的代码。

+0

感谢您的快速回复。 我已经设置了多个文件一次,我知道我提出的问题并不完美:)。 但我有优先级尝试避免在窗体上的参数通过javascript,通过单击更改按钮,并确切知道哪个按钮被按下:) – Sammy 2013-03-07 14:26:35