Tag: 形成

克隆forms和增量

我有一个下面的表格,我想克隆,增加id(att1)和它的输入,textareas等,并附加到与会者div。 任何帮助非常感谢。 一直在破坏我的头脑…… 我只有…… $(function () { var index = 1; $(“.add”).click(function () { index++; $(“#att1”).clone(true).removeAttr(“id”).attr(“id”, “att” + index).appendTo(“#attendees”); alert(index); }); }); HTML: Attendee 1 Booking Details Title: * Forename: * Surname: * Additional Info: Please include any infomation relating to dietary/ access/special requirements you might have. Add more

jQuery Validation插件 – equalTo不工作

我正在尝试将equalTo方法与jQuery Validation Plugin( http://jqueryvalidation.org/equalTo-method )一起使用,但它无效。 任何人都可以帮我弄清楚什么是错的? HTML: jQuery的: $(function(){ $(“#ss-form”).validate({ rules: { entry_123: “required”, email-again: { equalTo: “#entry_123” } } }); // end of function validate }); //end of general function 提前致谢!!!

jqgrid recreateform width设置,仅用于编辑,不用于添加

看过jqgrid wiki但是找不到我需要的东西。 我已将recreateform设置为true并设置宽度,适用于编辑,但是当我尝试添加新记录时,表单不是我在重新创建表单参数中指定的宽度,它们是添加表单的单独设置吗? 这是我的代码: myGrid = jQuery(“#rowed2”).jqGrid({ url:’data/stokistdata_s_json.php?q=3′, datatype: “json”, mtype: “POST”, rowNum:10, rowList:[50,100,150,200,300,400,500,600], pager: ‘#prowed2’, sortname: ‘id_mdt’, viewrecords: true, gridview:true, sortorder: “asc”, rowNum:50, scroll: true, editurl: “data/server.php”, caption:”Stockist’s and Orchid days”, colNames:[ ‘Actions’, ‘id’, ‘Type’, ‘Name’, ‘Geo Address’, ‘Display Address’, ‘Telephone’, ‘Email’, ‘website’, ‘lat’, ‘lng’, ‘flag’, ‘description’, ‘active’ ], colModel:[{ name:’Actions’, index:’Actions’, width:100, sortable:false, […]

在IE中由jQuery设置的iframe`name`属性的奇怪行为

我正在通过将表单中的文件发布到iframe来进行ajax样式文件上传,并注意到IE中的一些奇怪的行为(似乎发生在6和8中)。 基本上在IE中,表单没有正确地target iframe,因此响应出现在新窗口中(而不是iframe中)。 您可以使用以下最小的HTML / JS集重现该问题: $(document).ready(function(){ var frameName = “myFrame”; var $iframe = $(“”) .attr(“name”, frameName) .appendTo(“body”); var $uploadForm = $(“”) .attr(“target”, frameName) .append(“”) .append(“”) .appendTo(“body”); }); 现在(在你发布答案之前),我做了一些调查(使用IE8的开发人员工具),看起来.attr(“name”, frameName)实际上是将属性添加为submitName=”myFrame”而不仅仅是name=”myFrame” 。 基于此,我通过将iframe创建代码更改为稍微麻烦来解决了这个问题: var $iframe = $(“”) .appendTo(“body”); 进行此更改会使表单根据需要发布到iframe中。 我的问题是 : 为什么不.attr(“name”, …)按预期工作? 它是jQuery中的一个bug,IE中的一个bug(当然不是!?!),还是我错过了一些明显的东西? submitName属性来自哪里?它的目的是什么?

在本机不支持它的浏览器中模拟“占位符”属性的最准确方法是什么?

最近我一直在研究jquery / javascript解决方案来模仿placeholder属性,但是它们似乎都没有。 常见问题是: 首先不使用本机浏览器支持 表单实际上可以发布占位符文本的值 如果值相同,则无法识别占位符文本和用户输入(嘿,我的电子邮件是IS user@example.com !!为什么不提交?嘿我想搜索字符串“搜索”但它不会让我来!) 难以设计或区分常规文本和占位符文本 突兀的实现 (几乎总是。我不想为每个输入添加2个div和一个样式表来执行此操作) 只是不起作用。 jQuery网站上至少有2个。 我已经玩了一些试图让它正常工作(从我已经看到的一些代码中获得一些提示),但它仍然需要工作。 特别是,表单可以发布占位符的值。 欢迎评论和修改jsfiddle 。 (注意:Demo必须在没有占位符支持的情况下在浏览器中查看)我看到的大多数代码都占用了placeholder的值,并将其填充到输入本身,这导致了这个问题,我觉得必须有更好的方法。 有一个很好的清洁解决方案, 实际上有效吗? 编辑:我想强调一下:它应该像你在尽可能本地支持它的浏览器中看到的那样,并且尽可能不突兀,正如我当前的代码中所certificate的那样,除了包括脚本和正常情况下使用placeholder的浏览器支持它。 更新:@DA目前的解决方案是完美的一些错误修复(见评论),很想看到这个100%汇集在一起​​,并把所有坏的和错误的代码放在网上羞耻。 更新:使用DA代码的几个mod工作,但它仍然不完美,主要是关于动态添加的输入字段和现有的submit()绑定。 感谢所有的帮助,我现在已经决定它不值得。 我知道有些人肯定会使用这个。 这是一个很好的技巧,但对我来说,即使表单提交做出不打算做的事情,或者错误地阅读用户输入,也不值得1%的可能性。 这个次要function不值得头疼,IE和好友只能处理它,或者如果真的需要它可以根据具体情况实现,就像客户要求它一样。 @DA再次感谢,这是我见过的最好的实现。 结论:我认为克服所有这些问题的唯一方法是这样的: 将占位符值复制到新的块级元素 将新元素添加到输入中 计算输入的高度边框和填充,并在其上移动新元素尽可能接近文本将发生的位置 使用标准模糊/更改/焦点事件可在输入具有值或聚焦时隐藏元素 这样,您无需在提交或处理可能发生的任何其他问题时执行任何操作。 对不起没有演示,我必须重新开始工作 – 但是我会保存一个最终的编辑,当它汇集在一起​​。

防止机器人表单提交

我正试图找出一种防止机器人提交表单的好方法,同时保持流程简单。 我已经阅读了几个很棒的想法,但我想在提交表单时添加一个确认选项。 用户单击“提交”并弹出一个需要用户交互的Javascript确认提示。 这会阻止机器人或者机器人能够解决这个问题吗? 下面是代码和JSFIddle来演示我的想法: 的jsfiddle $(‘button’).click(function () { if(Confirm()) { alert(‘Form submitted’); /* perform a $.post() to php */ } else { alert(‘Form not submitted’); } }); function Confirm() { var _question = confirm(‘Are you sure about this?’); var _response = (_question) ? true : false; return _response; }

发布预览 – 使用AJAX和Fancybox传递数据

我正在尝试进行预览,这将出现在新的Fancybox iframe中。 几个星期以来,我正在寻求一些帮助或最佳实践,但我找不到它。 我的主要问题是将数据从表单(更新数据库之前)传递到Fancybox窗口。 我的AJAX技能很差,所以也许我的问题不是那么难。 请检查代码: $(‘.preview2’).fancybox({ fitToView : false, width : 905, height : 505, autoSize : false, closeClick : false, openEffect : ‘none’, closeEffect : ‘none’, ajax: { type: “POST”, cache : false, url: “https://stackoverflow.com/questions/14316054/post-preview-passing-data-with-ajax-and-fancybox/preview.php”, data: $(‘#postp’).serialize() } }); 和一个呼叫链接: Preview 我几乎可以肯定使用https://stackoverflow.com/questions/14316054/post-preview-passing-data-with-ajax-and-fancybox/preview.php文件一切都很好,只需发布​​变量并将其打印在正确的位置即可。 有人可以检查Fancybox / AJAX部分吗?

JavaScript:如何根据选择更改表单操作属性值?

我正在尝试根据下拉菜单中的选定值更改表单操作。 基本上,HTML看起来像这样: Search people Search content Enter your keywords: 如果选择“人员”(默认情况下),则操作应为“/ search / user”,如果选择了内容,则操作应为“/ search / content” 我还在四处寻找,但一直无法找到如何做到这一点。