0

因为我是新手,所以我想听听你的建议。
到目前为止,我已经找到了两种填充表单字段的方法。
说这是我的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 给我带来了一些问题(我猜这可以通过使用 .html 或 .text 来修复)

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

提前谢谢。

编辑:我刚刚注意到 jQuery .populate,我猜这有点像我的第二种方式,你只需要以以下格式获取数据{'id':'value',...}

4

2 回答 2

3

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

PHP:优点:所有浏览器都会得到你想要的。输出 HTML 可以说更正确,因为它具有用户期望的值

缺点:......增加了服务器负载......数量如此之少,以至于它可能甚至不应该是一个骗局

JS:优点:...

Cons: Non JS enabled browsers won't see the values you expect.

Improvements: Write a function in PHP that will auto echo your value if it exists to cut down on duplicate typing. Something like:

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

Or if you wanted:

function echoValue($value) {
global $SqlRequested;
    if(isset($SqlRequested[$value])){
        echo $SqlRequested[$value];
    }
}   
于 2012-04-05T06:56:14.237 回答
0

Nice question - all of this methods using in different frameworks, cms etc. Most "simple" and direct method is

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

Most powerful and "complex" is use framework like knockout.js for render forms.

And yes - "Who wouldn`t have javascript?"

Axiom - All have javascript.

于 2012-04-05T07:41:26.267 回答