Хорошо, нашел отличный код на Stack. Немного приспособились.дисплей поле ввода на новой линии (на основе радиовыхода)
Но в сущности у нас есть группа радио-ящиков в форме. При нажатии на один из этих переключателей отображается поле ввода.
Мне нужно показать это поле ввода на новой строке (желательно с новой меткой тоже), но борется.
Код: HTML
<div class="s_row_2 clearfix">
<label><strong>Price</strong></label>
<div class="s_full">
<label class="s_radio"><input type="radio" checked="checked" name="r" id="r1" onchange="disableTxt()"/> Free</label>
<label class="s_radio"><input type="radio" name="r" id="r2" onchange="disableTxt()"/> Swap/Trade</label>
<label class="s_radio"><input type="radio" name="r" id="r3" onchange="disableTxt()"/> Lets Talk</label>
<label class="s_radio"><input type="radio" name="r" id="r3" onchange="enableTxt()"/> Price</label>
<input type="text" name="r" id="price" style="display:none;width:212px;" size="30" placeholder="Type your price"/>
</div>
</div>
ЯШ:
var temp = '';
function disableTxt() {
var field = document.getElementById("price");
if(field.value != '') {
temp = field.value;
}
field.style.display = "none";
field.value = '';
}
function enableTxt() {
document.getElementById("price").style.display = "inline";
document.getElementById("price").value = temp;
}
Fiddle: http://jsfiddle.net/ozzy/mnxRr/
По существу, я предпочел бы цену в качестве первого варианта. Таким образом, при отображении поля ввода ниже выбора радио с новой меткой.
Любые предложения, пожалуйста,
резюмировать жаль:
Я предпочитаю HTML так:
<div class="s_full">
<label class="s_radio"><input type="radio" name="r" id="r3" onchange="enableTxt()"/> Price</label>
<input type="text" name="r" id="price" style="display:none;width:212px;" size="30" placeholder="Type your price"/>
<label class="s_radio"><input type="radio" checked="checked" name="r" id="r1" onchange="disableTxt()"/> Free</label>
<label class="s_radio"><input type="radio" name="r" id="r2" onchange="disableTxt()"/> Swap/Trade</label>
<label class="s_radio"><input type="radio" name="r" id="r3" onchange="disableTxt()"/> Lets Talk</label>
</div>
Нет. Он отображает входной сигнал. Вход должен отображаться на новой строке хуже или обернут в свой собственный
Я не уверен, что понимаю проблему: вы хотите, чтобы поле ввода появилось на новой строке? После последнего переключателя есть «
», который должен убедиться, что это происходит. Кроме того, вы можете установить для свойства 'display'' block' вместо 'inline' в определении' enableTxt() '. Если вам нужна метка в поле ввода, оберните ярлык и поле ввода в div и используйте этот идентификатор обертки вместо «цены» в вашем коде. –
Пробовал это, но, возможно, это вопрос блока. Дает ему вихрь Julian – 422