2015-02-19 1 views
-2

У меня есть окно ввода, а также кнопка и другие случайные элементы в документе HTML. мой вопрос таков: может ли JavaScript использовать идентификатор, который вводится в поле ввода и скрывать элемент с этим идентификатором при нажатии кнопки?, пожалуйста, дайте мне знать, как это сделать. Я создаю программу, которая создает элементы, основанные на определенных нажатиях кнопок, поэтому пользователь может форматировать html без знания кода. Я пытаюсь добавить динамические функции, и я абсолютно не знаю, что делать, потому что функции должны быть достаточно гибкими, чтобы использовать вход в них.Может ли JavaScript создать новую функцию на основе ввода пользователем?

Причина, по которой я не могу вставить функции напрямую, заключается в том, что я хочу, чтобы кнопка использовала функцию, которая специально создана для того, чтобы делать то, что хочет пользователь.

Я также не знаю, JQuery, HTML JavaScript внутренне и CSS

+3

Да, это возможно. Что вы пробовали? –

+1

да, эта отлично выполнимо. пожалуйста, загрузите код, который у вас есть до сих пор, так что предложения могут быть сделаны на основе вашей текущей реализации – atmd

+0

[Вам нужно будет показать нам, что вы пробовали, и где вы точно застряли] (http: //meta.stackoverflow. ком/вопросы/182266/как-много-научно-усилий является ожидалось, из-стек-перелива пользователей/182380 # 182380). Обновите свой пост с помощью [Short, Self-contains, Correct example] (http://sscce.org/) – SuperSaiyan

ответ

2

Да, но вы на совершенно ложном пути: вам не нужно, чтобы создать новую функцию в ответ на пользовательский ввод, чтобы сделать это.

Вам просто нужно использовать пользовательский ввод в функции.

function myEventHandler(event) { 
    var user_input = document.getElementById('my_text_input').value; 
    var user_selected_element = document.getElementById(user_input); 
    if (user_selected_element) { 
     user_selected_element.style.display = "none"; 
    } 
} 

document.getElementById('the_button').addEventListener('click', myEventHandler); 
0

Необходимо создать функцию, переданную обработчику кликов кнопки. Когда кнопка нажата, мы можем получить значение ввода и обработать его оттуда. Вот работающий fiddle.

function hideById() { 
    var id = document.getElementById('id').value; 
    document.getElementById(id).style.display = 'none'; 
} 

document.querySelector("button").addEventListener("click", hideById);