#jquery #html #css
#jquery #HTML #css
Вопрос:
Я хочу создать форму, подобную изображенной ниже:
Я вижу много способов использования таблицы, css, списков, но хочу знать, как наилучшим образом реализовать то, что я изобразил. Идея в том, что у «Учащегося (ов)» есть имя и возраст, связанные с ним, и при нажатии на ссылку «Добавить строку» новая пара полей имени и возраста появится прямо под ней.
Если кто-нибудь может предложить мне лучший способ выполнить это, чтобы у меня не было проблем с выравниванием, когда метка поля находится слева от полей ввода, я был бы очень признателен. Я знаю, что это было бы просто с таблицами, но хотел посмотреть, есть ли решение без таблиц, подходящее для современной эпохи HTML5 / CSS3.
Я отказался от этого http://net.tutsplus.com/tutorials/html-css-techniques/how-to-build-cross-browser-html5-forms /
Но возникли проблемы с настройкой, чтобы она выглядела так, как я изобразил выше. Если кто-нибудь может помочь показать мне, как наилучшим образом достичь этого, я был бы очень признателен.
Комментарии:
1. HTML5 не является анти-таблицей, это просто про-семантика. В этом случае было бы неплохо использовать
<table>
, поскольку информация, по сути, является таблицей значений.
Ответ №1:
Если вы используете этот скрипт:
var lastUsed=0;
function addGroup()
{
lastused ;
namstr='StName' lastused;
agestr='StAge' lastused;
str='<div> Name: <input type="text" name="' namstr '" value="">
Age: <input type="text" name="' agestr '" value=""></div>';
document.getElementById('formBlock').innerHTML =str;
}
С помощью этого HTML:
<form name="myform" action... etc>
<div id="formBlock">
Class Name: <input type="text" name="clName" value=''>
<div> Name: <input type="text" name="StName0" value="">
Age: <input type="text" name="StAge0" value=""></div>
</div>
<textarea>....etc
</form>
Он должен добавить их просто отлично. Я не включал никакого стиля, потому что у нас нет макета страницы. Стиль должен быть тривиальным.
Ответ №2:
Вам нужно разделить вашу страницу на блоки. Каждый блок будет элементом div . С помощью CSS вы будете управлять макетом и размером. Я думаю, в вашем случае это будет 4 divs
Ответ №3:
Для структуры HTML просто используйте div, чтобы заключить строку и метки и входные данные для элементов:
<div>
<label for="name-1">Name</label><input type="text" id="name-1" />
<label for="age-1">Age</label><input type="text" id="age-1" />
</div>
<input type="button" value="Add Row" id="addRow" />
В скрипте для добавления новой строки вам нужно увеличить атрибуты ids
и for
при добавлении.