变量中的 JavaScript 函数

标签 javascript jquery

我需要知道为什么这个函数在引用变量时没有附加我的错误消息。我尝试返回一些值,例如“false”,但仍然不起作用。请帮助我在这里学习一些东西。

    function checkName(el)
  {
    if (/^[a-zA-Z ]+$/.test(el.val()))
    {
      return null
    }
    return el
  }

  $(document).ready(function()
  {
      $('button[name=btn-submit]').on('click', function(e)
        {
          e.preventDefault();
          var err = {
            fn: checkName($('input[name=fn]')),
            mn: checkName($('input[name=mn]')),
            ln: checkName($('input[name=ln]'))
          }

          var isSubmit = function(){
              for (var key in err) {
                if (err.hasOwnProperty(key)) {
                  if(err[key] !== null)
                  {
                    var parent_div = err[key].parent().closest('div');
                    parent_div.append('<p id="p-error" class="error-msg">test</p>');
                  }
                }                
              }              
          }
          console.log(isSubmit);
          //

最佳答案

您永远不会调用处理err对象的函数。您只需创建它并将该函数分配给isSubmit 变量。

要调用它,您需要将 () 添加到末尾,或者添加到函数表达式的末尾(如果您的目标是分配结果将其调用到 isSubmit),或者在 console.log 中的 isSubmit 之后(如果您的目标是在那里调用它)。

例如,要么

var isSubmit = function(){
    for (var key in err) {
      if (err.hasOwnProperty(key)) {
        if(err[key] !== null)
        {
          var parent_div = err[key].parent().closest('div');
          parent_div.append('<p id="p-error" class="error-msg">test</p>');
        }
      }                
    }              
}(); // <== Here (could be pretty easy to miss seeing this, though)

console.log(isSubmit());
// Here ------------^^

关于变量中的 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35682626/

相关文章:

javascript - 尝试使用 Javascript 和 jQuery 创建动态选择框

javascript - 如何在VML中访问拉斐尔填充图像

javascript - 如何使用 CasperJS 发送 cookie

javascript - 如何使用qgis生成的自定义 map json在highmaps中实现mapbubble?

jquery - 从 API 检索完整日期并随后进行格式化

javascript - 如何检查 div 的第一个 child 是否处于事件状态

javascript - 令人困惑的 Javascript 引号

javascript - 如何逐行读取angular2上的csv文件

javascript - 热从 .js.erb 文件获取 I18.locale?

javascript - 如何将 json 数据发送到 jQuery.css()