小编cor*_*ded的帖子

jquery的表单提交不在IE中工作

我们在这里要做的是我们有一个id为upgrade_form的表单.我们还有一个名为"paypal_submit"的表单.此表格为空白.'upgrade_form'有结算明细字段(地址,姓名,到期等)

然后,我们只有一个提交按钮,逻辑是,如果选中信用卡单选按钮,它将提交表单,但当您选择paypal时,它将显示一个nyromodal(http://nyromodal.nyrodev.com)灯箱单选按钮,然后单击提交.

  • 编辑*

好的,我们彻底改变了整个过程.我们首先添加了2个未包含在表单中的隐藏字段.这两个字段包含信用卡和贝宝的网址.当您选择信用卡单选按钮时,您将获得信用卡网址.当您选择paypal单选按钮时,您将获得paypal网址.

当您单击单选按钮时,我们使用以下命令更改表单的操作:

$('#upgrade_form').attr('action', $('#credit-card-target-url').val())
Run Code Online (Sandbox Code Playgroud)

(credit-card-url是隐藏字段)

因此,当我们点击nyromodal灯箱中的链接时,我们只需拨打电话

$('#upgrade_form').submit();
Run Code Online (Sandbox Code Playgroud)

但!它仍然不适用于任何IE浏览器.对此有何帮助?我们正在安装建议的IE脚本调试器,但我很悲观,我们什么都看不到.

编辑

刚刚重试了这个.我们拿出了灯箱和其他代码.我们刚刚开始使用一个带有链接的基本表单,当按下时,调用:

$('#upgrade_form').submit();
Run Code Online (Sandbox Code Playgroud)

仍然无法在IE中工作.那是因为jquery的submit()吗?

好吧,我用google搜索jquery提交不在IE中工作,发现这个:jQuery表单submit()在IE6中不起作用?

但是我检查了我们的代码,我们的"提交"按钮实际上是一个链接,我搜索了生成的文档,发现没有名为submit的输入.单击链接时,我添加了一个警报来检查表单是否存在(由于nodeName null问题),我确实收到了带有html格式的警报.它只是暂停提交.

这是现在的代码:

$('#paypalbutton').click( function() {
  alert($('form#upgrade_form').html());
  $('form#upgrade_form').submit();
  return true;
}
Run Code Online (Sandbox Code Playgroud)

IE在jquery中停止在这一行:

nodeName: function( elem, name ) {
  return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase();
},
Run Code Online (Sandbox Code Playgroud)

javascript jquery internet-explorer

4
推荐指数
2
解决办法
2万
查看次数

标签标签的语义

我已经读过这篇文章,并且通常使用跨度或强项来描述“文本标签”。最佳做法是否正确?看来这也是一种语义方式,但是为什么它仅限于表单元素?

如果我想这样显示信息怎么办:

Name: FOo Bar
Age: 27
Weight: 151 kg
Run Code Online (Sandbox Code Playgroud)

等等?

名称,年龄和体重都可以描述为标签,但由于它们描述的项目不是输入标签,因此在语义上也不正确(至少对于html和w3c而言)。我通常使用

<span class="label"> or <span class="description"> or <span class="person-detail"> etc
Run Code Online (Sandbox Code Playgroud)

但通常还应该有一个标签,用于与输入字段无关的标签。因为这可能有点主观,所以我不介意将其转变为社区Wiki或其他内容

html html5 semantic-markup

4
推荐指数
2
解决办法
2260
查看次数

是否可以在jquery中的委托函数中添加多个选择器?

像我的应用程序中的模块的脚本创建命名空间/子模块的东西?就像说我只想将某些任务委托给某个div中的元素,比如说#submodule1.

我可以这样做:

 $("#submodule1")
    .delegate(".selector1", "click", function() {} )
    .delegate(".selector2", "click", function() {} )
Run Code Online (Sandbox Code Playgroud)

如果有可能,它会是否相同:

 $("#submodule1").delegate(".selector1", "click", function() {} )
 $("#submodule1").delegate(".selector2", "click", function() {} )
Run Code Online (Sandbox Code Playgroud)

编辑

根据TJ Crowder的回答我应该能够做到这一点:

$("#soap-test-test-cases")
  .delegate(".soap-test-case", "click", function(){
      testfunction();
  });
  .delegate("legend", "click", function() {
    alert("this is a test!");
  });
Run Code Online (Sandbox Code Playgroud)

但我得到一个语法错误

jquery delegates

4
推荐指数
1
解决办法
4447
查看次数

Ym4r无法转换为rails3的字符串

这是我的问题的一些背景:

我在Snow Leopard上安装了RVM(使用ruby1.9.2-head安装)我使用的是rails3我使用这个http://github.com/guilleiguaran/ym4r_gm安装了ym4r (并按照教程)

无论如何,我将这些添加到我的控制器:

@map = GMap.new("map_div")
@map.control_init(:large_map => true,:map_type => true)
@map.center_zoom_init([75.5,-42.56],4)
@map.overlay_init(GMarker.new([75.6,-42.467],:title => "Hello", :info_window => "Info! Info!"))
Run Code Online (Sandbox Code Playgroud)

那么这些对我看来:

Test <%= raw(GMap.header) %>  <%= raw(@map.to_html) %>  <%= raw(@map.div(:width => 600, :height => 400)) %>  
Run Code Online (Sandbox Code Playgroud)

实际上我正在使用haml(这有关系吗?)

Test
= raw(GMap.header)
- unless @map.blank?
  = raw(@map.to_html)
#map{:style => "width: 600px; height: 400px"}
Run Code Online (Sandbox Code Playgroud)

问题是我不断得到一个

显示/Users/eumir/rails_apps/evo-lux/app/views/layouts/_map.html.haml,其中第11行引发:

不能将Ym4r :: GmPlugin :: Variable转换为String(Ym4r :: GmPlugin :: Variable#to_str给出Ym4r :: GmPlugin :: Variable)

提取的来源(第11行):

9:测试10:= raw(GMap.header)11:= raw(@ map.to_html)12:= raw(@ map.div(:width => 600,:height => 400)) …

ruby google-maps rvm ruby-on-rails-3

3
推荐指数
1
解决办法
1135
查看次数

在options_from_collection_for_select中为选项添加一个类

我想在我的select标签中的一个选项元素中添加一个类("has-versions"),具体取决于选项.我该如何添加该类?

 = select_tag 'project_version_id', "<option value='' disabled>-optional select version-</option>".html_safe + options_from_collection_for_select(current_user.current_project.project_versions, :id, :name, @test_case.script.try(:project_version_id))
Run Code Online (Sandbox Code Playgroud)

我需要它是这样的:

<select name="project_version_id" id="project_version_id">
  <option disabled="" value="">-optional select version-</option>
  <option selected="selected" value="19">NOOB SAIBOT</option>
  <option class="has-versions" value="20">PEW PEW</option>
</select>
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails-3

3
推荐指数
1
解决办法
3495
查看次数

rufus-scheduler和cron有什么区别?

https://github.com/jmettraux/rufus-scheduler声明:

rufus-scheduler是一个用于安排代码片段(作业)的Ruby gem.它了解在某个时间,在某个时间,每个x时间或仅通过CRON语句运行作业.

rufus-scheduler不是cron/at的替代品,因为它在Ruby内部运行.

那么如果它在红宝石中运行呢?我不能使用ruby中的系统命令访问cron吗?

ruby cron rufus-scheduler

3
推荐指数
1
解决办法
3023
查看次数

heroku中的ActionController :: RoutingError(未初始化的常量User :: UsersController)(但一切都在本地工作)

我试图在heroku中运行我的应用程序但是在尝试注册甚至访问devise的登录页面时出现此错误:

ActionController::RoutingError (uninitialized constant User::UsersController)
Run Code Online (Sandbox Code Playgroud)

这是我在heroku中错过的设计错误或服务器设置吗?

顺便说一下,我在雪松堆栈中运行一个rails3.1应用程序并加载索引页面是好的,但如果我尝试登录或注册,它会打击.

注册表格显示,但是当我提交时,那就是它被吹响的时候.我检查了日志,它对控制器进行了POST,但是GETting结果页面(当我想重定向时)将其炸毁.

有帮助吗?

编辑

这是我的路线:

root :to => "home#index"

devise_for :users

namespace :user do
  root :to => "users#welcome"
end

resources :users, :only => :show
Run Code Online (Sandbox Code Playgroud)

一个heroku支持人员也询问了我的路线,但为什么它只在生产中发生?我也不认为路线有任何问题......是吗?

heroku devise ruby-on-rails-3.1

3
推荐指数
1
解决办法
7256
查看次数

GitHub到Heroku提交错误

我正在使用Aptana Studio 3和Heroku进行RoR网站项目.当我通过GitHub'提交'后将我的网站推送到Heroku时,我不断收到此错误.已到处搜索,但无法找到我可以遵循的简单解决方案.有什么建议发生了什么以及如何重新开始?谢谢.

User$ git push heroku master
To git@heroku.com:xxxxxx.git
! [rejected]        master -> master (non-fast forward)
error: failed to push some refs to 'git@heroku.com:xxxxxx.git'
To prevent you from losing history, non-fast-forward updates were rejected.
Merge the remote changes before pushing again.
See 'non-fast forward' section of 'git push --help' for details.
User$ 
Run Code Online (Sandbox Code Playgroud)

我在@SkillDrick下面尝试了这个建议,并在最后加上错误:

User$ git merge heroku/master master
usage: git merge [options] <remote>...
or: git merge [options] <msg> HEAD <remote>

-n                    do not show a diffstat at the end …
Run Code Online (Sandbox Code Playgroud)

git heroku

3
推荐指数
2
解决办法
3125
查看次数

具有继承资源的嵌套对象

首先,我喜欢inherited_resources

考虑以下:

class Job < ActiveRecord::Base
  has_many :inputs, dependent: :destroy
  has_one :output
end

class JobsController < InheritedResources::Base
  respond_to :json
end
Run Code Online (Sandbox Code Playgroud)

当我请求jobs/1.json时,我只获取作业对象的JSON.我想要的还有要包含的输入和输出.我通常通过以下方式实现:

job.to_json(include: [:inputs,:output])

我的问题是用IR实现这一目标的最佳方法是什么?现在,我只是覆盖节目,但我想知道是否有更优雅的方式?

谢谢!

json ruby-on-rails inherited-resources

2
推荐指数
1
解决办法
857
查看次数

Ruby Anagram使用String#sum

我已经解决了一个问题,要求你编写一个方法来确定所提供的数组中的字是字谜,并将字谜分组到输出中的子数组中.

我已经使用看似典型的方式来解决它,通过对单词进行排序并将它们分组为基于排序字符的哈希.

当我最初开始寻找一种方法时,我注意到String#sum存在将每个角色的序数加在一起.

我想尝试一些方法来确定一个基于使用的字谜sum.例如,"汽车"和"疤痕"是字谜,它们sum是425.

给定%w[cars scar for four creams scream racs]输出的预期输出(我已经使用哈希解决方案得到)是:[[cars, scar, racs],[for],[four],[creams,scream]].

看起来好像做了这样的事情:

input.each_with_object(Hash.new []) do |word, hash|
  hash[word.sum] += [word]
end
Run Code Online (Sandbox Code Playgroud)

是一种方法,它给你一个哈希,其中键"425"的值是['cars','racs','scar'].我认为我缺少的是将其转换为预期的输出格式.

ruby anagram

2
推荐指数
1
解决办法
6401
查看次数