Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Помогите с полем и областью! (https://javascript.ru/forum/css-html/72730-pomogite-s-polem-i-oblastyu.html)

jjulien1996 22.02.2018 13:21

Помогите с полем и областью!
 
На форме располагается текстовая область, текстовое поле, кнопка и радоигруппа из 2 радиокнопок. При активной одной радиокнопке в поле вводится текст, после нажатия на кнопку он оказывается в текстовой области. В текстовую область непосредственно ничего впечатать нельзя, при попытке это сделать должно выдаваться окошко-предупреждение. При активной другой радиокнопке в текстовую область вводится текст, после нажатия на кнопку он оказывается в текстовом поле. В текстовое поле непосредственно ничего впечатать нельзя, при попытке сделать это должно появляться окно с предупреждением.

<html>
<head>
<script language = "JavaScript">

function enterText(_el) {


</script>
</title>
Лабораторная работа №1
</title>
</head>

<form name="form">
<input type="text" name = "area" value = " " size = "30"><br>
<input type="radio" value="one" name="radioBut" > Введите текст в поле <br>
<input type="radio" value="two" name="radioBut"> Введите текст в область <br>
<input type="button" value="push" onclick="enterText(this);">
<textarea value=""></textarea>

</form>
</body>
</html>

Это все, что я умею:help:

Nexus 22.02.2018 13:52

Цитата:

Сообщение от jjulien1996
Лабораторная работа №1

Цитата:

Сообщение от jjulien1996
function enterText(_el) {

Цитата:

Сообщение от jjulien1996
Это все, что я умею

Не на многое хватило ваших знаний, однако.

Nexus 22.02.2018 14:25

Уведомления только не сделал, на "хорошо" потянет, наверное :)

<form id="f">
    <input type="text" name="area" size="30"/><br>
    <input type="radio" value="one" name="radio" checked/> Введите текст в поле <br>
    <input type="radio" value="two" name="radio"/> Введите текст в область <br>
    <input type="button" value="push"/><br/>
    <textarea disabled></textarea>
</form>
<script type="text/javascript">
	var _=(s,a)=>document['querySelector'+['All',''][+!a]](s),
		a=_('[name="area"]'),
		r=[].slice.call(_('[name="radio"]',!0)),
		t=_('#f').lastElementChild,
		on='addEventListener',
	  d='disabled';
		
	r.forEach(i=>i[on]('change',e=>t[d]=
		!(a[d]=(r.filter(i=>!!i.checked).pop().value=='two'))));
	_('[type="button"]')[on]('click',e=>[a,t].sort((a,b)=>[b]
		.reduce((b,a)=>b-+a[d],+a[d]))
		.map((a,b,t)=>!b?a:t[1].value+=t[0].value));
</script>
Не благодарите :D

j0hnik 22.02.2018 16:10

Nexus,
можно сделать проще

<form id="f">
    <input type="text" name="area" size="30"/><br>
    <input type="radio" value="one" name="radio" checked/> Введите текст в поле <br>
    <input type="radio" value="two" name="radio"/> Введите текст в область <br>
    <input type="button" value="push"/><br/>
    <textarea disabled></textarea>
</form>

<script>
var area = document.querySelector('textarea');
document.forms[0].onclick=e=>{
area.disabled = document.querySelector('[type="radio"]').checked;
document.querySelector('[type="text"]').disabled = !area.disabled;
if(e.target.matches('input[type="button"]')) document.querySelector(':disabled').value += document.querySelector('textarea:enabled,[type="text"]:enabled').value;
};

</script>

Nexus 22.02.2018 16:37

j0hnik, мой код читается хуже, если вообще читается.

Лабораторные работы нужно стараться самому выполнить и задавать вопросы по мере написания, а не как тс, выкинуть строку кода и сказать, что это все на что он способен.

j0hnik 22.02.2018 16:42

Nexus,
Я проставляю препода, который смотрит в код потом на jjulien1996 и так несколько раз :blink:

j0hnik 22.02.2018 16:47

Nexus,
Это уже на совести автора


Часовой пояс GMT +3, время: 08:24.