PHP或Jquery填充表单字段?

时间:2012-04-05 06:54:29

标签: php jquery forms populate

我不熟悉这一点,我希望得到你的建议 到目前为止,我已经找到了两种填充表单字段的方法 说这是我的HTML:

 <input id="test" name="test" type="text">  

如您所见,每个字段的ID与名称匹配 当从Sql填充字段时,我可以这样做:

PHP:

 <input id="test" name="test" type="text" value="<?php if(isset($SqlRequested['test'){echo $SqlRequested['test'];}">  

并且类似地写下我表格中的所有字段......
或者将其添加到头部中 JQUERY:

<script>
 <?php  echo "$(document).ready(function(){";
        foreach ($SqlRequested as $id => $value){
                echo "$('#" . $id . "').val(\"" . $value . "\");"
                echo "};"
         echo "});"
 ?>
 </script>

除了jQuery给我带来一些问题,当字段中包含“enter / return”时(可以通过使用.html或.text来修复)

您建议哪一个,每种方法的缺点或优点是什么? 代码的任何改进?
我还有其他一些方法吗? 有关轻松解决上述小问题的任何建议吗?

提前完成。

编辑:我刚刚注意到jQuery .populate,我猜测就像我的第二种方式,你只需要以{'id':'value',...}

的格式获取数据

2 个答案:

答案 0 :(得分:3)

您应该使用PHP来呈现页面,因为没有javascript的人不会获得您的javascript版本的值。

PHP: 优点: 所有浏览器都将获得您希望他们获得的内容。 输出HTML可以说更正确,因为它具有用户期望的值

缺点: ......增加了服务器负载....这么小的数量,甚至可能不是一个骗局

JS: 优点: ...

缺点: 未启用JS的浏览器将无法看到您期望的值。

改进: 在PHP中编写一个函数,它将自动回显您的值(如果它存在以减少重复键入)。类似的东西:

function echoValue($value) {
global $SqlRequested;
    if(isset($value)){
        echo $value;
    }
}

或者如果你想:

function echoValue($value) {
global $SqlRequested;
    if(isset($SqlRequested[$value])){
        echo $SqlRequested[$value];
    }
}   

答案 1 :(得分:0)

很好的问题 - 所有这些方法都在不同的框架,cms等中使用。 最“简单”和直接的方法是

value="<?php echoValue('test');?>"

最强大和最复杂的是使用像knockout.js这样的框架来渲染表单。

是的 - “谁不会有javascript?”

Axiom - 所有人都有javascript。