0

所以我有一个页面,我有一个客户的报价请求表。

文档类型是

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US">

我正在做的是,通过 jquery 生成表单提交按钮,因此如果客户端浏览器禁用了 js,则不会出现提交按钮。

HTML如下。

    <div id="buttonscript">


    </div>

jQuery

<script type="text/javascript" >
   $(document).ready(function(){
   $("#buttonscript").html('<input type=\"image\" name=\"Submit\" src=\"<?=$img_dir?>/button-submit_off.png\" alt=\"Submit\" class=\"nostyle\" style=\"margin-left:-4px;\" />');
});
</script>

它在所有浏览器中都可以正常工作,但似乎是 FF。

$(document).ready(function() {在页面上有另一个这会导致冲突吗?

第二个是在表单上调用 jquery.validate 插件。

更新

尝试在“。没有工作之前删除所有转义符。据我所知,控制台中没有错误。在任何地方都可以正常工作,但 FF。

更新 *我是菜鸟*

无论如何,大声笑,我意识到必须有一些时髦的事情发生,考虑到我知道即将出现的错误表明 jquery 未定义....然后我记得一个 .htaccess 指令允许脚本只能从同一个域运行,我以前一直在托管我的 jquery 库,但决定让谷歌为我做这件事....换句话说,我的任何代码都没有错误...这是服务器配置..终于弄明白了!

4

3 回答 3

0

如果您将文档类型更改为 ,它会起作用<!DOCTYPE html>吗?

如果发生冲突,请尝试像这样包装您的代码:

(function($){
    // safely use $ as an alias for jQuery in here
}(jQuery));

如果您在控制台中查看 DOM,是否插入了任何内容?换句话说,问题是没有插入任何内容,还是插入的内容不正确?

无论如何,我认为对于您正在尝试做的事情有一个更好的解决方案:在您的html标签上添加一个no-js类:

<html class="no-js">

然后通过 jQuery 删除类:

jQuery(function($){
    $('html').removeClass('no-js').addClass('js');
});

然后你可以硬编码input但在没有 JavaScript 时隐藏它。在 CSS 中,你可以这样写:

.no-js #buttonscript{ display:none; }

然后你完全不用担心插入它。

于 2012-06-05T19:42:52.597 回答
0

想知道为什么在您开始使用单个配额时在双配额中添加斜杠

'<input type=\"

尝试删除斜线

于 2012-06-05T19:03:36.400 回答
0

这一切都归结为服务器配置。意识到 jquery 库现在是在外部托管的。我有一个 .htaccess 指令阻止外部脚本。愚蠢的我,我忘了我很久以前就做过了!

于 2012-06-05T22:27:13.173 回答