【问题标题】:showing error that mouse_id is undefined while implementation in javascript显示在 javascript 中实现时 mouse_id 未定义的错误
【发布时间】:2013-01-31 02:53:52
【问题描述】:

您好,我在执行以下操作时遇到错误。

当我点击以下代码中的“保存”按钮时:

<td width="20%"><a href='#' class="close"> <input id="save"  onClick="updateMouseInfo();" type="button" value="Save" /></a></td>

我想从 getMouseInfo() 函数中调用 mouse_id 参数到 updateMouseInfo() 并且我得到 mouse_id 未定义的错误,所以请帮助我解决。

function getMouseInfo(mouse_id) 
{ 
  var dataString = {auth_token: sessionStorage.auth_token, id: mouse_id};
  var mh_url =  MH_HOST + '/mice/get_mouse_info.json';
  alert("Inside Mouse Get Info");
  $.ajax(
  {
    type: "POST",
    url: mh_url,
    data: dataString,
    dataType: "json",
    success: function (data) 
    {

            //for (var info_count = 0, info_len = data.length; info_count < info_len; info_count++ );
            //{
                alert("Inside for loop");
                 //var mouse_info = data.cage.mice[info_count];

                 var ear_tag = document.getElementById("ear_tag");
                 var age = document.getElementById("age");
                 var genotype = document.getElementById("genotype");
                 var owner = document.getElementById("owner");
                 //var born = document.getElementById("born");
                 //var euthanize = document.getElementById("euthanize");
                 //var note = document.getElementById("note");

                 ear_tag.innerHTML = data[0].ear_tag;
                 age.innerHTML = data[0].age;
                 genotype.innerHTML = data[0].genotype_id;
                 owner.innerHTML = data[0].owner_id;
                 //born.innerHTML = data[0].dob;
                 //euthanize.innerHTML = data[0].dob;
                 //note.innerHTML = data[0].dob; 
            //} 
    },
    error: function (data) 
    {
        alert("fail");
    }    
  });   
}

//update mouse info
function updateMouseInfo(mouseid) 
{ 
  var ear_tag = $('#input_ear_tag').val();
  var age = $('#input_age').val();  
  var genotype = $('#input_genotype').val();
  var owner = $('#input_owner').val();

  var dataString = {auth_token: sessionStorage.auth_token, id: mouseid, mouse: 
  {ear_tag: ear_tag, age: age,}};
  var mh_url =  MH_HOST + '/mice/update.json';

  alert("Inside Mouse update Info");
  console.log('Data String='+ dataString.auth_token + 'Mouse id=' + dataString.id);
  $.ajax(
  {
    type: "POST",
    url: mh_url,
    data: dataString,
    dataType: "json",
    success: function (data) 
    {  
        document.getElementById('ear_tag').innerHTML = "<div" + ear_tag + "'>" + ear_tag + "</div>";
        document.getElementById('age').innerHTML = "<div" + age + "'>" + age + "</div>";
        document.getElementById('genotype').innerHTML = "<div" + genotype + "'>" + genotype + "</div>";
        document.getElementById('owner').innerHTML = "<div" + owner + "'>" + owner + "</div>";
    },
    error: function (data) 
    {
        alert("fail");
    }    
  }); 

}

我在浏览器控制台中收到以下错误。

m_id=99 
Data String=pvHxzkr3cys1gEVJRpCDMouse id=undefined 

而在上述情况下,id 应该是 99,它显示为 undefined。

【问题讨论】:

  • @IswantoSan 我已经更新了问题你能帮帮我吗
  • 但是你没有向updateMouseInfo函数发送mouseid参数,你怎么期望它不是未定义的?
  • @IgorJerosimić 想要与 getMouseInfo() 函数在我调用 updateMouseInfo() 时获取的相同 mouseid 值,所以请你帮帮我。

标签: javascript jquery html ajax json


【解决方案1】:

您正在通过以下方式调用 updateMouseInfo 函数:

onClick="updateMouseInfo();"

如果您想在调用updateMouseInfo() 时获得getMouseInfo() 函数获取的相同mouseid 值,则必须全球化getMouseInfo()

希望它有效。

【讨论】:

    猜你喜欢
    • 2017-11-27
    • 1970-01-01
    • 2011-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-04
    • 1970-01-01
    • 2019-02-27
    相关资源
    最近更新 更多