对象必需的错误Javascript

时间:2014-06-01 06:03:47

标签: javascript jquery error-handling

我有以下代码的问题,我用于Jira。当我运行代码时,我得到了

第4行的对象必需错误

你能帮忙吗?批准者和分配者的价值是正确的,所以他们没有问题

 <script type="text/javascript" charset="utf-8" id="priorityCustomFieldScript">


//utils(common)
var by_id=function(n){
  var i=document.getElementById(n);
     return {  //error line
    value:i.value,
    set_value:function(v){i.value=v;}
  };
};


function setSummaryAndSubmit(e){

  e.preventDefault();
  e.stopPropagation();

  //utils
  var id_set=function(n){
    var v={};
    v.a=function(x,y){v[x]=y;return v;};
    v.g=function(){return v[by_id(n).value] || '';};
    return v;
  };

  //approver
  var by_id_11690=id_set('customfield_11690').
a('22468','205 SSNL SAP');

  //assignee
  var by_id_11690_1=id_set('customfield_11690:1').
a('22469','jpechea').
a('22470','amikusi');


  var setter=(function(){
    var d=new Date();
    by_id('customfield_10146').set_value(d.getFullYear());
    by_id('summary').set_value('ADI - '
+by_id('customfield_10146').value+' - '
+document.getElementById("customfield_10171").options[document.getElementById("customfield_10171").selectedIndex].text+' - '
+by_id_11690.g()+' - '
+by_id('customfield_10163').value);
    //by_id('assignee').set_value(by_id_11690_1.g());


        by_id('assignee-container').set_value(by_id_11690_1.g());
    var selectedGlobalId;
    selectedGlobalId=document.getElementById('assignee-container').value;
    jQuery("#assignee").find('option').remove();
    jQuery("#assignee").append("<option value='" + selectedGlobalId +"'>JIRA User</option>");
    jQuery("#assignee").val(selectedGlobalId).attr("selected", "selected");




  }());

  //ok
  //var form=this;
    //form.submit();
    jQuery("#customfield_10146").parents('form').submit();
}

jQuery(document).ready(function($) {

function hideSummaryAndAddSeverityHook(){



        var row = document.getElementById("assignee-container");
        if (row) {
            row.style.display = 'none';
        }

        $('#customfield_10146').closest('div.field-group').hide();
        $('#summary').closest('div.field-group').hide();


        jQuery("input#issue-create-submit").click( function(event) {
            setSummaryAndSubmit(event);});
        jQuery("input#issue-edit-submit").click( function(event) {
            setSummaryAndSubmit(event);});

}

var currentLocation = window.location.href;
if (currentLocation.indexOf('CreateIssue') > -1 || currentLocation.indexOf('EditIssue') > -1)
{


       hideSummaryAndAddSeverityHook();
       JIRA.bind(JIRA.Events.NEW_CONTENT_ADDED, function (e,context) { 

       hideSummaryAndAddSeverityHook();

      });

   }

});
</script>

1 个答案:

答案 0 :(得分:0)

如果没有找到元素,

document.getElementById()将返回null - 您需要在代码中检查它。你得到的错误意味着我不是一个对象 - 所以document.getElementById()在你的一个调用中返回null。