JS / PHP:谁负责生成内容?

时间:2010-08-25 06:55:16

标签: php javascript

这是我遇到过的情况,在客户端创建表单并使用PHP进行处理。以下是一些注意事项

  1. PHP脚本生成表单并发送到客户端。这是因为国际化问题
  2. 客户端使用JavaScript提交表单;表单的ID在JavaScript中由硬件编码,因为它是由PHP生成的。这意味着每次更新PHP代码时,JS都必须更改。
  3. 这里的问题是,谁应该依赖谁? JS应该生成表单,以便PHP脚本必须知道表单元素的名称吗?或者应该反过来呢?

2 个答案:

答案 0 :(得分:0)

PHP应该使用Form的ID生成Form +一个隐藏字段。 然后javascript提交表单。

多数民众赞成我会怎么做......

答案 1 :(得分:0)

如果从PHP脚本生成表单,则应该很容易(如@xXx建议的那样)将该脚本添加到表单中以供稍后处理。该ID是作为“form”元素的“id”属性添加,还是作为隐藏的“输入”字段添加,取决于许多因素。

Javascript,而不是需要在其自身内部使用硬编码的值,应配置为(如果需要)在表单中找到ID,如上面的PHP脚本所设置的那样。

当然,这个建议有点通风,因为我不知道你的解决方案是如何设计的。

但是,对于一些视觉辅助工具:

在创建表单的PHP脚本中

<?php
//After the Form open tag has been echo'd
//Assuming $formID is the Form's ID
echo '<input type="hidden" name="formID" value="'+$formID+'">';
?>

哪会产生类似

的东西
<form ... >
  <input type="hidden" name="formID" value="1234">
  ...
</form>

然后Javascript应该可以做类似

的事情
//Assuming Javascript variable "targetForm" is pointing at the above form object
formID = targetForm.formID.value;