Я хочу передать значение из 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]] в дочерней функции из родительской функции.
Во-первых, я сделаю все возможное, чтобы очистить 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)
где значение — это то, что вы хотите передать.
Еще одно замечание: для удобства чтения я рекомендую не называть свои функции такими, какими вы их называете. Имея две функции getMessageText
а также getMessageText1
будет просто источником путаницы позже. Вместо этого придумайте что-нибудь более информативное, аля getMessageTextFromID
,
Надеюсь, я ответил на вопрос, который вы хотели задать. Дай мне знать.
Других решений пока нет …