如何从HTML页面将变量传递给子函数

时间:2018-11-05 02:37:55

标签: javascript php html

我想将HTML页面的值传递给父函数的子函数。

HTML页面:

<div class="bottom_wrapper clearfix">

  <div class="message_input_wrapper">
    <input class="message_input" placeholder="Type your message here..." />
  </div>

  <div class="send_message">
    <div class="icon"></div>
    <div class="text">Send/div>
  </div>
</div>

父函数调用:

$('.send_message').click(function (e) {
  return [sendMessage(getMessageText()),sendMessage1(getMessageText1())];
});

$('.message_input').keyup(function (e) {
  if (e.which === 13) {
    return [sendMessage(getMessageText()),sendMessage1(getMessageText1())];
  }
});

这里getMessageText1是子功能。

子功能:

getMessageText1 = function () {
  var result="";
  var id = Parent_FUNC_INPUT;
  $.ajax({
    url:"func.php",
    type: 'POST',
    data: ({id:id}),
    async: false,  
    success:function(data) {
      result = data; 
    }
  });

我想从父函数中填充子函数中的[[id]]变量。

1 个答案:

答案 0 :(得分:0)

首先,我会尽力清理HTML:

<div class="bottom_wrapper clearfix">
    <div class="message_input_wrapper">
        <input class="message_input" placeholder="Type your message here..." />
    </div>
    <div class="send_message">
        <div class="icon"></div>
    </div>
    <div class="text">Send</div>
</div>

使用适当的缩进将使内容更容易阅读。而且,当我们讨论这个主题时,您可能希望在类名中使用破折号-而不是下划线_,因为这是常见的约定。

关于您的问题,似乎您想做的只是从内部(如您所指)传递参数到getMessageText1 事件监听器。

因此,您将使用单个参数定义此“子”函数:

function getMessageText1(Parent_FUNC_INPUT) {
    ...
    var id = Parent_FUNC_INPUT;
    ...
}

然后您可以使用getMessageText1(value)进行调用,其中值是您要传递的值。

另一个注意事项:为了便于阅读,我建议您不要以现有的方式命名函数。具有两个功能getMessageTextgetMessageText1稍后将引起混乱。相反,请考虑一些更具描述性的内容,例如getMessageTextFromID

希望我回答了您要问的问题。让我知道。