0

我有一个表单,我在页面加载时为框(文本框、选择框、单选框)设置值,如下所示。

<script>
$(function() {
   $("#text").val(\''.$_GET['q'].'\');
   $("#category").val(\''.$_GET['cat'].'\');
});
</script>

但主要问题是第一页加载了空框,并且在一秒或有时超过一秒后将值加载到框。在所有框都设置了值后,我怎样才能显示页面?这必须在 jquery 中。

PS请不要为我提供php解决方案。如果可能只有 jquery 解决方案。

谢谢。

4

1 回答 1

1

为什么必须在 jQuery 中,为什么不能在纯 javascript 中设置值,甚至更好地直接在 HTML 中设置,因为我假设 $_GET 指的是 PHP 变量,而您用于设置这些值的方法似乎完全不需要?

<input type="text" value="$_GET['q']" id="text" />

或者放在元素后面的纯js中

<script type="text/javascript">
    document.getElementById('test').value = $_GET['q'];
</script>

跳过了一些奇怪的转义和集中,并且不太关心所有不同的报价,你必须自己弄清楚这些,只是为了展示我会怎么做?

jQuery 一直等到 DOM 和其中的所有内容都加载完毕,因此您已经有了 jQuery 解决方案。这意味着 jQuery 代码的执行总是比直接设置值晚,甚至在元素可用时立即使用纯 JavaScript 等。

如果您真的根本不关心用户体验或加载时间,您总是可以在您的 CSS 中设置body标签并在您在 jQuery 脚本中设置值后立即使用,这是一个 jQuery 解决方案,但它是一个糟糕的解决方案!display:none$('body').show();

于 2012-07-22T16:36:11.820 回答