我不熟悉这一点,我希望得到你的建议 到目前为止,我已经找到了两种填充表单字段的方法 说这是我的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',...}
答案 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。