2012-05-02 2 views
0

Может ли несколько ссылок получать видимые за раз? Я имею в виду в своем следующем коде, когда я ввожу project в текстовое поле и нажимаю кнопку отправки, abc.htm ссылка становится видимой. Теперь я хочу, чтобы при вводе project в текстовое поле и нажмите кнопку отправки abc.htm и xyz.htm и cold.htm ссылки становятся видимыми. То же самое в случае написания в текстовом поле.сделать несколько ссылок видимыми javascript

<html> 
    <head> 
    <script Language="JavaScript"> 
    <!-- 
    function Blank_TextField_Validator() { 
    // Check the value of the element named text_name from the form named text_form 
    if (text_form.text_name.value == "") { 
    // If null display and alert box 
    alert("Please fill in the text field."); 
    // Place the cursor on the field for revision 
    text_form.text_name.focus(); 
    // return false to stop further processing 
    return (false); 
    } 
    // If text_name is not null continue processing 
    if (text_form.text_name.value == "project") 
    document.getElementById('project_link').style.display = 'block'; 
    else if (text_form.text_name.value == "under") 
    document.getElementById('construction_link').style.display = 'block'; 
    else 
    alert("Invalid keyword!"); 
    return (false); 
    } 
    --> 
    </script> 
    </head> 
    <body> 
    <form name="text_form" method="get" action="#" 
    onsubmit="return Blank_TextField_Validator()"> 
    <a id='project_link' href='abc.htm' style='display: none;'>project</a> 
    <a id='construction_link' href='New Text Document (3).htm' style='display:  none;'>construction</a> 
    <input type="text" name="text_name" > 
    <input type="submit" value="Submit"> 
    </form> 
    </body> 
    </html> 

Это то, что я пробовал:

if (text_form.text_name.value == "project") 
    document.getElementById('project_link').style.display = 'block'; 
    document.getElementById('project_link_1').style.display = 'block'; 

<form name="text_form" method="get" action="#" onsubmit="return Blank_TextField_Validator()"> 
    <a id='project_link' href='abc.htm' style='display: none;'>project</a> 
    <a id='project_link_1' href='xyz.htm' style='display: none;'>projects</a> 
    <a id='construction_link' href='New Text Document (3).htm' style='display: none;'>construction</a> 
+1

Кажется, вы уже знаете, как это сделать: 'document.getElementById ('project_link'). Style.display = 'block';'. Вам просто нужно сделать это для каждой ссылки, которую вы хотите видеть. –

+0

, но он просто дает мне одну ссылку, если я пишу проект в текстовых полях Мне нужно 3 ссылки, как я это сделаю? –

+0

Ну, ваш HTML содержит только одну из ссылок: '' ... либо добавить других в свой HTML, а также использовать один и тот же метод или создать их динамически и добавить их в DOM. Ваш вопрос не очень ясен, вы просто хотите знать, как «показать» их. Строка, которую я цитировал в своем первом комментарии, делает это. –

ответ

0

Изменить

if (text_form.text_name.value == "project") 
    document.getElementById('project_link').style.display = 'block'; 
    document.getElementById('project_link_1').style.display = 'block'; 

в

if (text_form.text_name.value == "project") { 
    document.getElementById('project_link').style.display = 'block'; 
    document.getElementById('project_link_1').style.display = 'block'; 
} 

Btw, я действительно согласен с комментаторами на оригинальный вопрос: вы должны изучить JavaScript перед публикацией вопросы об этом. Вам нужно будет знать, что вы на самом деле делаете, чтобы добиться успеха.

Смежные вопросы