获取空字符串传递给getElementById()。在Firefox中

时间:2014-04-17 14:37:44

标签: javascript jquery ruby-on-rails firefox safari

我有一个使用cloudinary,carrierwave和jcrop的rails 4 app。上传按钮和提交工作(使用javascript状态报告)在chrome上但不在firefox或safari上。在firefox控制台中,我将空字符串传递给getElementById()。它指向elem = document.getElementById(match [2]);请注意,在第二次或第三次尝试(点击提交并反复选择图像)后,它有时会很奇怪。哦,请帮助我互联网世界你唯一的希望。

我猜猜火狐和野生动物园下面的咖啡因中有什么东西不喜欢?

update = (c) ->
  $('#profile_pic_crop_x').val(c.x)
  $('#profile_pic_crop_y').val(c.y)
  $('#profile_pic_crop_w').val(c.w)
  $('#profile_pic_crop_h').val(c.h)
$(document).ready ->
  $(".cloudinary-fileupload").fileupload(
    dropZone: "#dropzone"
    start: (e) ->
      $(".status").text "Starting upload..."

    progress: (e, data) ->
      $(".status").text "Uploading... " + Math.round((data.loaded * 100.0) / data.total) + "%"

    fail: (e, data) ->
      $(".status").text "Upload failed"
  ).off("cloudinarydone").on "cloudinarydone", (e, data) ->
    $("#photo_bytes").val data.result.bytes
    $(".status").text ""
    $(".preview").html($.cloudinary.image(data.result.public_id,
      format: data.result.format
      width: 400
      height: 400
      crop: "limit"
      id: "jcrop_target"
    )).css height = "400"
    $("#jcrop_target").Jcrop
      aspectRatio: 1
      setSelect: [100, 0, 200, 200]
      onSelect: update
      onChange: update
    $(".previewpost").html($.cloudinary.image(data.result.public_id,
      format: data.result.format
      width: 400
      height: 400
      crop: "limit"
      class: "img-responsive"
    )).css height = "400"

2 个答案:

答案 0 :(得分:3)

就我而言,这是一个空for=""属性的问题。如果你的页面上有这样的东西,你应该摆脱空的属性,以对抗这个警告:

<label class="myLabel" for="">Name:</label>

==&GT;

<label class="myLabel">Name:</label>

答案 1 :(得分:2)

这是turbolinks的一个问题。我添加了jquery.turbolinks gem并在javascript的开头放入document.ready。