jquery 相关问题

jQuery是一个Javascript库,考虑添加Javascript标记。 jQuery是一个流行的跨浏览器JavaScript库,它通过最小化浏览器之间的差异来促进文档对象模型(DOM)遍历,事件处理,动画和AJAX交互。标记为jquery的问题应该与jquery相关,因此有问题的代码应该使用jquery,并且至少需要jquery与用法相关的元素。


用val()

我试图验证我的网站上的输入,因为跨站点攻击! 我试图验证我的网站中的输入,因为跨站点攻击! <form name="SearchInput" class="form-inline filterForm" method="post" action="/annoncen/" onsubmit="validateMyForm();"> <input type="text" name="searchWord" class="form-control form-search left" id="formGroupExampleInput" placeholder="Text" onkeyup="inputKeyUp(event)"/> <input type="text" name="searchLoc" class="form-control form-search right" id="formGroupExampleInput" placeholder="Place" onkeyup="inputKeyUp(event)"/> <button type="submit">search</button> </form> i使用Validate()插件来防止用户将脚本放入输入字段 function validateMyForm(){ var text_value = $('#formGroupExampleInput').val(); if(text_value!=='/^[a-zA-Z ]*$/') { alert("Enter Some Text In Input Field"); event.preventDefault(); }} 但是每次我得到text_value =""!!!我做错了什么 注意JavaScript中的任何内容(验证,编码或其他任何内容)都不会防止反射或存储的XS。您需要将输出编码回到页面(大概在服务器端)的位置,但该部分没有显示该部分。 XSS默认情况下是一个输出编码问题,而与输入阀门有关,尽管如果足够严格并且在适当的情况下,服务器端输入验证也可能会阻止它。 但是,如果这是您要预防的DOM XSS,那么在JavaScript中实现适当的输出处理仍然更好输入字段上的输入。 您的值总是为空的,因为有两个输入具有相同的ID。 这是一个具有两个不同ID的示例 .text() .html() 使用REGEXP,您可能应该使用$( document ).ready(function() { $("button").on("click", function (e){ var text_value = $('#formGroupExampleInput').val(); console.log('your value ' + text_value); if(text_value==="") { alert("Enter Some Text In Input Field"); e.preventDefault(); } console.log('form is submited'); //todo remove this e.preventDefault(); to make your form submit e.preventDefault(); }); });和<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form name="SearchInput" class="form-inline filterForm" > <input type="text" name="searchWord" class="form-control form-search left" id="formGroupExampleInput" placeholder="Text" /> <input type="text" name="searchLoc" class="form-control form-search right" id="formGroupExampleInput1" placeholder="Place" /> <button type="submit">search</button> </form>或new RegExp() REGEXP的更多信息 test() 我用替换()解决了我的问题(在dom中) exec() 我用纯文本替换所有不允许的字符,并以他的方式注入脚本!

回答 2 投票 0

如何在单击按钮时关闭引导下拉菜单?

我打开了一个引导下拉菜单,并在使用放置在其中的网格时使其保持打开状态,当我单击下拉区域外部时,我可以关闭下拉菜单,但我...

回答 3 投票 0

jQuery 宽度获取错误值

我的 jQuery 方法 .width() 有问题。我有 4 个不同的文本区域,需要根据包含它们的 div 的大小调整大小,因此我调用方法 .width() 来获取实际的

回答 4 投票 0

jQuery 更改表单中的响应文本

首先,该网站是http://emiralmedia.com/site/tennishero,它只是用于在单独的域上启动该网站之前测试该网站。 您好,我想更改 CRM 联系人的响应错误...

回答 1 投票 0


带有音频标签的 Safari 无法正常工作

我正在使用以下简单代码使用 HTML5 音频标签: 超文本标记语言 JS $('#

回答 6 投票 0

无法从openweatherapi获取数据

我正在尝试创建一个简单的天气应用程序,我正在使用 jquery Ajax 方法从 openweathermap 检索数据。 我正在使用以下方法来获取数据。 $(文档).ready(功能...

回答 1 投票 0

使用 JQuery/Ajax 从 API 检索数据

我正在尝试将 openweathermap api 中的信息获取到我的应用程序中。我尝试使用ajax来获取数据,但它显示为未定义。 $(函数(){ var $temp = $('#温度'); ...

回答 2 投票 0

在jQuery

var api_key = "&APPID=c0aa3c8995df1b0dd97032d0072333b3"; var api = "http://api.openweathermap.org/data/2.5/forecast?q="; var city = "Toronto"; var units = "&units=metric" $( "#submit" ).click(function() { input = $('#city'); $(function(){ var url = api + input.val() + api_key + units; $.getJSON(url, function(wd){ document.write(JSON.stringify(wd.list.main)); }) }) });

回答 1 投票 0

从车把助手返回 html 对象

我需要从车把助手发送一个 html 对象,如下所示: Handlebars.registerHelper('助手', function () { //创建输入对象 var inp=$(' 我需要从车把助手发送一个 html 对象,如下所示: Handlebars.registerHelper('helper', function () { //Create an input object var inp=$('<input type="text" name="name">'); //How to return 'inp' object without using Handlebars.SafeString return inp; }); 我知道我可以使用“Handlebars.SafeString()”返回 html 字符串,但这对我来说没有用,我需要传递 html 对象并为其分配一些事件。 可以吗? 正如 dandavis 所评论的,使用 Handlebars 你不能模板化对象,只能模板化字符串。但是,您可以使用 MutationObserver 将元素添加到 DOM 后获取它们。我创建了一些帮助器来执行此操作,请参阅 post-render-bars 中的 jq 帮助器。另请参阅类似问题的此答案以了解不同的方法。 这是用于渲染后栏的演示,请查看“在模板中定义 jQuery 元素”标题下的示例。 助手使用 MutationObserver,这里是 浏览器支持信息,如果需要,请参阅 webcomponents-lite 以获取填充。 相关代码简单说明: watch.js 定义了一个函数 forHtml(html, callback),当在 DOM 中遇到给定的 html 时,该函数会触发回调。它修改 html 以暂时拥有一个使其独一无二的类。 jQueryHelpers.js 定义助手jq。助手使用 watch.forHtml 函数来监视助手定义的块,并使用 jquery 元素作为参数调用您传递到模板的函数。 这是我链接的示例的简化版本,模板: <p>button with a handler: {{#jq setHandler}}<button>try me</button>{{/jq}}</p> 还有js: var context = { setHandler: function(element) { element.on('click', function() { alert('clicked'); }); } }; var html = template(context); // append html somewhere and the setHandler will be invoked 存在一个称为 DOMBars 的 Handlebars 分支/扩展,正是考虑了这种功能。 https://github.com/blakeembrey/dombars 它已被作者弃用,但它仍然可用,尽管您可能会记住,使用已弃用的库可能会出现不可预见的问题。 它的工作原理与 Handlebars 完全相同,只是辅助函数也可以返回 DOM 元素。 您的模板: <script id="template"> <p>Something {{{ helper data }}}</p> </script> 代码: Handlebars.registerHelper('helper', function (text) { // Create an input jQuery Object and bind whatever callbacks you want to it. var inp = $('<input type="text" name="name">' + text '</input>'); // Return the DOM Object return inp.get(0); }); template = DOMBars.compile($('#template').html()) const html = template({ data: "Something" }) 现在可以在 Handlebars 中使用三括号语法实现这一点。您可以使用三个括号来调用助手:{{{myhelper myarg}}}。输出被视为原始且未转义。如果 helper 返回 HTML,它将被渲染。

回答 3 投票 0

jquery nodename返回未定义

该代码不适合任何内容。我只是想成功获取元素的标签名或名称。但是,当我运行以下代码时,我总是会收到警报,说“不确定...

回答 3 投票 0


Chrome 中的 OnInput 事件不再起作用

下面的代码曾经在 Chrome 52.x 版本之前工作,但在最新版本中它不再工作。为什么会这样? https://jsfiddle.net/2jtrs2m2/ 下面的代码曾经在 Chrome 52.x 版本之前工作,但在最新版本中不再工作。为什么会这样? https://jsfiddle.net/2jtrs2m2/ <input type="text" id="test" /> <script type="text/javascript"> var my_event = document.createEvent("TextEvent"); my_event.initTextEvent("textInput",true,false,window,"T"); document.getElementById("test").focus(); document.getElementById("test").dispatchEvent(my_event); </script> 通常当我执行这段代码时,Chrome 会在输入中插入字符 T。我不想使用 document.getElementById("xxx").value = "T" 因为在我正在处理的一些非常具体的情况下,我真的只能使用上面的代码来触发 oninput 事件,由于某种原因该事件不再起作用。 尝试使用 document.execCommand IE; document.execCommand("insertText", false, "foo");

回答 1 投票 0

JavaScript - 将日期格式转换为秒

如何将此日期格式更改为秒? ... 我们可以使用 JavaScript 或 JQuery 进行转换吗?

回答 1 投票 0

获取<embed>标签内加载的html的html dom

我想访问通过标签读取的html文件。 如何访问上传的html文件? 例子: 我想访问通过标签读取的html文件。 如何访问上传的html文件? 示例: <embed id="htpage" type="text/html" src="http://localhost/site/test.html" 我需要获取主页中加载的 test.html 文件的 DOM。 (javascript 或 Jquery)。 谢谢 <embed> 元素可用于 SVG、视频或需要某种插件的内容。 <embed> 元素有一些限制。 HTML 文档可以使用 <iframe>“嵌入”。重要的是,它从网络服务器运行(只是说,但我可以看到您尝试链接到本地主机,所以没问题)并且您位于同一个域中。 一个例子可能看起来像这样。重要的是,您需要等待 iframe 中的文档加载,然后才能访问 DOM。 <!DOCTYPE html> <html> <head> <script> document.addEventListener('DOMContentLoaded', e => { let iframe = document.querySelector('iframe'); if(iframe.readystate == 'complete'){ loadHTMLHandler(iframe); }else{ iframe.addEventListener('load', e => loadHTMLHandler(e.target)); } }); function loadHTMLHandler(iframe){ let htmlDocument = iframe.contentDocument; console.log(htmlDocument); } </script> </head> <body> <iframe width="400" height="200" src="http://localhost/site/test.html"></iframe> </body> </html>

回答 1 投票 0

add单击事件以iframe

我想将单击事件添加到iframe中。我使用了这个示例并得到了: $(document).ready(function(){ $('#left')。bind('click',function(event){alert('test');}); }); <question vote="18"> <p>我想将点击事件添加到一个<pre><code>iframe</code></pre>。我使用了this示例<a href="https://stackoverflow.com/questions/1609741/how-to-add-click-event-to-a-iframe-with-jquery">并得到了:</a> </p><code>$(document).ready(function () { $(&#39;#left&#39;).bind(&#39;click&#39;, function(event) { alert(&#39;test&#39;); }); }); &lt;iframe src=&#34;left.html&#34; id=&#34;left&#34;&gt; &lt;/iframe&gt; </code><pre> </pre>但不幸的是什么都没有发生。 当我用另一个元素(例如一个按钮)测试它时,它有效:<p> <br/><code>&lt;input type=&#34;button&#34; id=&#34;left&#34; value=&#34;test&#34;&gt; </code></p> <pre> </pre> </question>您可以将单击附加到IFRAME内容:<answer tick="true" vote="32"> <p><code>$(&#39;iframe&#39;).load(function(){ $(this).contents().find(&#34;body&#34;).on(&#39;click&#39;, function(event) { alert(&#39;test&#39;); }); }); </code></p> <pre>注:这仅在两个页面都在同一域中时才起作用。 </pre>Live演示:<p>Http://jsfiddle.net/4HQC4/</p><p> <a href="http://jsfiddle.net/4HQc4/"> </a> </p>两个解决方案:</answer> <answer tick="false" vote="23"> <p>在</p><code>:after</code><ol>元素上使用<li><code>.iframeWrapper</code><pre> </pre>使用<pre><code>pointer-events:none;</code></pre>一个iframe</li> <li> <pre>1。使用</pre><code>:after</code></li></ol> <h2>使用透明覆盖<pre><code>::after</code></pre>伪元素,在iframe的包装器div元素上使用Higher z-index</h2>进行pseudo元素。这将有助于包装器注册点击:<p> <pre></pre><strong> </strong> </p><code>jQuery(function ($) { // DOM ready $(&#39;.iframeWrapper&#39;).on(&#39;click&#39;, function(e) { e.preventDefault(); alert(&#39;test&#39;); }); });</code><p> </p><code>.iframeWrapper{ display:inline-block; position:relative; } .iframeWrapper::after{ /* I have higher Z-index so I can catch the click! Yey */ content:&#34;&#34;; position:absolute; z-index:1; width:100%; height:100%; left:0; top:0; } .iframeWrapper iframe{ vertical-align:top; }</code><div data-babel="false" data-lang="js" data-hide="false" data-console="true"> <div><code>&lt;script src=&#34;https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js&#34;&gt;&lt;/script&gt; &lt;div class=&#34;iframeWrapper&#34;&gt; &lt;iframe src=&#34;http://www.reuters.tv/&#34; frameBorder=&#34;0&#34;&gt;&lt;/iframe&gt; &lt;/div&gt;</code><pre> </pre> <pre> </pre><pre> </pre>2。使用</div><code>pointer-events:none;</code></div><p> 从iframe外部不可hanthisthclicks从外部资源</p>(如果iframe不在您的域中)。 您只能在您的<h2>'call中创建该函数,而不是从<pre>Iframe-hosting</pre>页面中创建该函数。 </h2><p>如何做<strong>:</strong> <br/> 您可以将您的<em><code>iframe</code></em>置于div<em> </em>使用CSS</p><code>iframe</code><p><strong>将单击“遍历”您的</strong><code>pointer-events:none;</code></p> tagrget单击您的包装上的<ul><code>jQuery</code><li>(<strong><code>DIV</code></strong>父元素)<pre> </pre> </li><li><pre> </pre> <pre><code>iframe</code></pre> </li><code>jQuery(function ($) { // DOM ready $(&#39;.iframeWrapper&#39;).on(&#39;click&#39;, function(e) { e.preventDefault(); alert(&#39;test&#39;); }); });</code><li> <pre><code>.iframeWrapper{ display:inline-block; position:relative; } .iframeWrapper iframe{ vertical-align:top; pointer-events: none; /* let any clicks go trough me */ }</code></pre> <pre> </pre> <pre></pre> nota bene:</li></ul> <p> ligrame元素将注册不会单击,因此用例就是:如果单击IFRAME,您要放大它全屏....等等。 </p> <div data-babel="false" data-lang="js" data-hide="false" data-console="true"> <div> <pre>我让它起作用,但仅在将其上传到主机之后。我想Local主机也可以正常工作。 </pre><pre>outer</pre><pre> </pre><code>&lt;script src=&#34;https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js&#34;&gt;&lt;/script&gt; &lt;div class=&#34;iframeWrapper&#34;&gt; &lt;iframe src=&#34;http://www.reuters.tv/&#34; frameBorder=&#34;0&#34;&gt;&lt;/iframe&gt; &lt;/div&gt;</code></div> </div><p>Inner</p><p> <strong><code>&lt;html&gt; &lt;script src=&#34;http://code.jquery.com/jquery-1.9.1.min.js&#34;&gt;&lt;/script&gt; &lt;script&gt; $(document).ready(function() { var myFrame = document.getElementById(&#34;myFrame&#34;); $(myFrame.contentWindow.document).find(&#34;div&#34;).on(&#34;click&#34;, function () { alert(&#34;clicked&#34;); }); }); &lt;/script&gt; &lt;body&gt; &lt;iframe id=&#34;myFrame&#34; src=&#34;inner.htm&#34;&gt;&lt;/iframe&gt; &lt;/body&gt; &lt;/html&gt; </code></strong> </p> <ul> <li>Purejavascript</li> </ul>没有我的解决方案,但这只能很好地效果。 </answer><code>&lt;html&gt; &lt;head&gt; &lt;style&gt; div { padding:2px; border:1px solid black; display:inline-block; } &lt;/style&gt; &lt;/head&gt; &lt;body&gt; &lt;div&gt;Click Me&lt;/div&gt; &lt;/body&gt; &lt;/html&gt; </code><answer tick="false" vote="1"> <p> </p> <p><code>let myConfObj = { iframeMouseOver : false } window.addEventListener(&#39;blur&#39;,function(){ if(myConfObj.iframeMouseOver){ console.log(&#39;Wow! Iframe Click!&#39;); } }); document.getElementById(&#39;YOUR_CONTAINER_ID&#39;).addEventListener(&#39;mouseover&#39;,function(){ myConfObj.iframeMouseOver = true; }); document.getElementById(&#39;YOUR_CONTAINER_ID&#39;).addEventListener(&#39;mouseout&#39;,function(){ myConfObj.iframeMouseOver = false; }); </code><strong> </strong></p> <pre>脚本必须完全从iframe中运行。我会建议一种调用内容的不同方法,例如PHP。 iframes并不值得麻烦。 </pre> <p> <strong>实际问题是,单击事件不会绑定到iframe and bind()的dom dom dobect()弃用,使用</strong><code>$(document).ready(function () { $(&#39;#left&#39;).click(function(event) { alert(&#39;test&#39;); }); }); &lt;iframe src=&#34;left.html&#34; id=&#34;left&#34;&gt;Your Browser Does Not Support iframes&lt;/iframe&gt; </code></p>用来绑定事件。尝试以下代码,您会发现iframe可单击的边界获取该警报。 <pre><code>.on()</code></pre> 该问题的demo </answer> <answer tick="false" vote="1">所以如何完成它?<h1> </h1> <p>您应该做的是,在iframe页面上创建一个函数,然后从该iframe页面调用该功能。 </p> <pre> </pre><code>$(&#39;#left&#39;).on(&#39;click&#39;, function(event) { alert(&#39;test&#39;); }); </code></answer> <answer tick="false" vote="0">var elmnt = iframe.contentwindow.document.getElementsbytagname(“ button”)[0]; elmnt.Click();<pre> </pre> <p></p>

回答 0 投票 0

使用<input>

我正在使用select2控件,通过ajax加载数据。这需要使用 标签。 现在,我想检索选定的文本。 (数据绑定中的 value 属性

回答 12 投票 0

按 Enter 键正在创建标签,但将文本保留在 Select2 中

选择2版本:4.0.5 问题: 在多标签中(带有标签:true 或带有预填充标签),每次我按 Enter 键选择标签时,它都会创建标签,但将文本保留在新标签的右侧...

回答 2 投票 0

如果满足条件,则停止 WooCommerce 简单产品发布

我想检查我的店长是否可以发布产品,例如商店不能有超过30个简单产品。 我遇到了这段代码: add_action( 'woocommerce_new_product', 'on_product_save', ...

回答 1 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.