2015-02-20 2 views
-2

UPDATE: Извините, удалив синтаксис из скрипта perl, я удалил слишком много. Вот код до сих пор. Я отправляю «student_name» в script.pl. Это может быть введено в текстовой форме или выбрано из раскрывающегося списка, на основе которого вы выбираете с помощью переключателя. Но, похоже, это не работает для меня.Выпадающая форма HTML-формы в радио

 <form method="post" action="script.pl"> 
    Type Student Name<input type="radio" name="student_name"><input type=text name="student_name" size=50> 
    <b>OR</b> 
    Select Student Name<input type="radio" name="student_name"> 
    <select name="student_name"> 
    <option value="jack">Jack</option> 
    </select> 
    </form> 

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

Введите имя () _______ ИЛИ() (меню),

<td width=30% bgcolor=#CEDBE7>Student Name</td> 
    <td bgcolor=#CEDBE7 width=70%> 
    <input type=radio name=student_name value=><input type=text name=student_name size=50> 

    <b>OR</b> 

    <input type=radio name=student_name> 
    <select> 
    <option value=drop1>drop down option 1</option> 
    </select> 
+1

Не достаточно кода, чтобы правильно ответить. Вы действительно должны цитировать свои элементы. Плюс, 'value =>', который будет использоваться как мул. –

+0

Вы хотите скрыть падение, если первое радио проверено? Вам также необходимо изменить название поля ввода или радио – mplungjan

+0

Покажите свой полный код для своей формы, включая ваш PHP. Это слишком неопределенно ** и ** слишком широкое. Однако это легко сделать с помощью условных операторов. Я за один не могу ответить, пока не увижу * всю картину * и все части, которые содержат это * прекрасное изображение * ;-) –

ответ

1

Я ДУМАЮ, вы имеете в виду это

window.onload=function() { // when the page has loaded 
 
    var rads = document.querySelectorAll('input[name="student_rad"]'); // get all radios with name student_rad 
 
    for (var i=0;i<rads.length;i++) { 
 
    rads[i].onclick=function() { // assign onclick to each 
 
     if (this.id=="inp") { // the one deciding input 
 
     document.getElementById("stud_sel").selectedIndex=0; // reset select 
 
     document.getElementById("student_name").focus(); 
 
     } 
 
    } 
 
    } 
 
    document.getElementById("stud_sel").onchange=function() { // when selecting 
 
    document.getElementById("sel").click(); // click the rad to select it 
 
    document.getElementById("student_name").value=this.value; 
 
    } 
 
    var rad = document.querySelector('input[name="student_rad"][checked]'); 
 
    if (rad == null) { 
 
    document.getElementById("inp").click(); // check default 
 
    } 
 
}
<td width=30% bgcolor=#CEDBE7>Student Name</td> 
 
    <td bgcolor=#CEDBE7 width=70%> 
 
    <input type="radio" name="student_rad" id="inp"/><input type="text" name="student_name" id="student_name" size=50 /> 
 

 
    <b>OR</b> 
 

 
    <input type="radio" name="student_rad" id="sel" /> 
 
    <select id="stud_sel"> 
 
    <option value="">Please select</option> 
 
    <option value="Frank">Frank</option> 
 
    </select>

+0

Даже я не понимаю часть javascript, это работает довольно хорошо. Я привык использовать только простые формы под html, который работает для меня, но я думаю, что больше, чем это необходимо, чтобы это сделать. Благодарю. –

+0

Я прокомментировал еще несколько – mplungjan

0

Ваш выбор тег не имеет имя атрибута. Когда форма передается, переданные значения идентифицируются именами элементов.

Помимо этого, ваш HTML выглядит так, как будто он был написан 10 лет назад. Используйте CSS для стилей элементов, используйте тег таблицы только для реальных таблиц, а не для создания макетов элементов, поместите значения атрибутов в кавычки.

+0

* «Ваш тэг select не имеет атрибута имени.» * - '