javascript - 尝试将变量分配给 JS 对象

标签 javascript jquery

我对 JS 世界很陌生。我所做的是,创建了一个表单,在其中我将表单字段值拉入变量并将它们分配给对象(obj),我再次将“obj”对象分配给“param”对象,console.log(param )给我未定义。任何帮助将不胜感激

I have put my code here

  <form accept-charset="UTF-8" id="user-profile-form" method="post" action=""   enctype="multipart/form-data" autocomplete="off" novalidate="novalidate"><div><div class="bd-section bd-section-user-profile">
     <fieldset data-user-email="" class="fs-email-name">
     <h3>Name and Email</h3>
     <div id="edit-field-first-name" class="field-type-text field-name-field-first-name field-widget-text-textfield form-wrapper">
     <div id="field-first-name-add-more-wrapper">
     <div class="form-item form-type-textfield form-item-field-first-name-und-0-value">
     <label for="edit-field-first-name-und-0-value">First Name <span title="This field is     required." class="form-required">*</span></label>
     <input type="textbox" maxlength="14" size="60" value="" name="field_first_name" id="edit-field-first-name-und-0-value" class="text-full form-text required">
      <div class="faux-label" style="display: none;">First Name</div>
      </div>
      </div></div>       
       <div id="edit-field-last-name" class="field-type-text field-name-field-last-name field-widget-text-textfield form-wrapper">
      <div id="field-last-name-add-more-wrapper"><div class="form-item form-type-textfield form-item-field-last-name-und-0-value">
       <label for="edit-field-last-name-und-0-value">Last Name <span title="This field is required." class="form-required">*</span></label>
       <input type="text" maxlength="14" size="60" value="" name="field_last_name[und][0][value]" id="edit-field-last-name-und-0-value" class="text-full form-text required">
      <div class="faux-label" style="display: none;">Last Name</div>
      </div>
     </div></div>       
    <div class="form-item form-type-textfield form-item-mail">
       <label for="edit-mail">E-mail address <span title="This field is required." class="form-required">*</span></label>
       <input type="text" class="form-text required email" maxlength="254" size="60" value="" name="mail" id="edit-mail">
       <div class="faux-label" style="display: none;">email@email.com</div>
    </div>
   </fieldset>
</div>

    <div id="edit-actions--2" class="form-actions form-wrapper">
      <input type="submit" class="form-submit" value="Save Changes" name="op" id="edit-submit-ca">
     <input type="submit" class="form-submit" value="Delete your account" name="op" id="edit-cancel"><a href="/" class="edit-cancel-changes">Cancel</a></div></div>
   </form>        </div><!-- .col-left -->


    </div>
   <script>

     function user_pref_data(){
      var FirstName;
      var LastName;
      var email;
      var param={};
      var obj = {};


$("#edit-field-first-name-und-0-value").focusout(function(){
   FirstName = this.value;
   console.log(FirstName)
});
$("#edit-field-last-name-und-0-value").focusout(function(){
   LastName = this.value;
 });
 $("#edit-mail").focusout(function(){
  email = this.value;
});
  obj.frstnam = FirstName;
  obj.lstnam = LastName;
  obj.eml = email;
  param.param = obj;
  console.log(param);
}
 $("input#edit-submit-ca").on('click', function(event){
//alert("hi")

 user_pref_data();
 return false;

});

});
</script>

最佳答案

这是DEMO JS BIN code

var obj = {};
function user_pref_data(){
   var param={};

   var FirstName;
   var LastName;
   var email;

   param.param = obj;
   console.log(param);
}
$("input#edit-submit-ca").on('click', function(event){
  //alert("hi")

  user_pref_data();
  return false;

});
$("#edit-field-first-name-und-0-value").focusout(function(){
       FirstName = this.value;
      obj.frstnam = FirstName;
       console.log(FirstName);
});
$("#edit-field-last-name-und-0-value").focusout(function(){
      LastName = this.value;
      obj.lstnam = LastName;
});
$("#edit-mail").focusout(function(){
      email = this.value;
      obj.eml = email;
});

对您的代码进行了一些更改。添加这个。 无法在另一个函数中定义焦点事件函数以使它们发生。

由于您的函数 user_pref_data() 仅在提交操作时被调用,因此这些焦点事件从未发生。

关于javascript - 尝试将变量分配给 JS 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23797631/

相关文章:

javascript - 为什么我的脚本不起作用,我认为一切都做得很好

javascript - 如何在 javascript 中转换数组/数据集?

jquery - 在 Django 中使用 AJAX/jQuery 删除对象

jquery - 点击滑出菜单栏

javascript - 替代表格显示数据?

javascript - Jquery 不返回表单 INPUT 中的值

javascript - 在触摸屏上关闭窗口时停止/暂停音频

javascript - 我应该如何访问react-redux应用程序中的服务

javascript - jQuery .data 方法 - 根据存储数据动态添加或删除元素

php - 如何防止移动设备在我的网站上自动下载 PDF?