Просмотр полной версии : Помощь в смене действий при OnClick
Добрый день.
В JS полный ноль.
Нужна помощь в объяснении.
Делаю пригласительный на свою свадьбу, при нажатии на картинку, картинка должна пропасть и открыться форма ввода текста, после ввода определенного значения в форму, форма пропадает и выходит текст приветствия,т.е, если в форму ввести имя Александр, то форма пропадет и появится текст "Александр Мы приглашаем тебя....".
Понимаю что это задается условие, реализовал такое на Delphi RAD Studio 10.1, но в JS не соображу никак.
В Delphi скрыл форму ввода и текст, Click на картинку, картинка принимается visible: false, форма visible:true, после ввода имени в форму, форма принимает значение visible:false, а текст visible:true.
Просто проблема в том что я хочу отправить пригласительные через ВК, но там к сожалению невозможно нормально переслать exe, к тому же многие будут просматривать через телефон, поэтому решил реализовать посредством сайта.
Заранее прошу прощения за очень большое количество текста:)
В Delphi скрыл форму ввода и текст, Click на картинку, картинка принимается visible: false, форма visible:true, после ввода имени в форму, форма принимает значение visible:false, а текст visible:true.
Так же и в html + js... :yes:
<img src="images/first.png" id="welcome">
<input type="text" id="name" placeholder="Введите имя" style="display: none;">
<label style="display:none" id="done"></label>
Начало только могу, не пойму как описать функцию чтобы поочередно они сменяли друг друга и как в label вытащить имя из text не понимаю.
не пойму как описать функцию чтобы поочередно они сменяли друг друга и как в label вытащить имя из text
Нечто такое...
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='https://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
.off {
display: none;
}
</style>
<script type='text/javascript'>
$(function(){
$('#welcome').click(function(){
$(this).addClass('off');
$('#info').removeClass('off');
});
$('#info').submit(function(){
$(this).addClass('off');
var o=$('#done');
o.text($('#name').val());
o.removeClass('off');
return false;
});
});
</script>
</head>
<body>
<img src="https://javascript.ru/forum/images/smilies/smile.gif" id="welcome" />
<form class='off' id='info'>
<input type="text" id="name" placeholder="Введите имя" />
</form>
<label id="done" class='off'></label>
</body>
</html>
Dilettante_Pro
26.05.2017, 10:58
ksa,
В хроме ваш пример молчит.
Поменяйте
<script src='http*!*s*/!*://code.jquery.com/jquery-latest.js'></script>
Поменяйте
Этот скрипт может лежать где угодно, это не суть важно. :D
Dilettante_Pro
26.05.2017, 11:48
ksa,
В данном контексте это важно: я запускаю ваш пример - он молчит. Зачем тогда он исполняемый?
Нечто такое...
Спасибо за помощь, скрипт работаю, сижу разбираюсь как он работает.
Не подскажешь еще одно, свой текст, который должен выводится вместе с тем что пользователь введет, куда его в коде прописать.
По сути он должен быть между тэгами <label>, но в нем выводится только то, что пользователь написал в форме.
Не подскажешь еще одно, свой текст, который должен выводится вместе с тем что пользователь введет, куда его в коде прописать.
Х/з чего ты там наверстаешь...
Как брать, как вставлять я показал. А дизайн и исполнение придумывай сам. :)
По сути он должен быть между тэгами <label>
Тег
<label></label>
Предназначен для работы вкупе с
<input />
Для оформления строковых кусков текста есть
<span></span>
Зачем тогда он исполняемый?
Не обращай внимания... :D
Х/з чего ты там наверстаешь...
Как брать, как вставлять я показал. А дизайн и исполнение придумывай сам. :)
Тег
<label></label>
Предназначен для работы вкупе с
<input />
Для оформления строковых кусков текста есть
<span></span>
Я имел в виду такой кусок, на примере того же Delphi.
Label1.Caption:=(Edit1.Text + ' ! ' + #10 + 'Текст который нужно написать и выведется совместно с тем что вводил пользователь')
Сорри что мучаю, просто реально для меня js, как огромный лес.
реально для меня js, как огромный лес
В лесу валом возможностей. ;)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='https://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
.off {
display: none;
}
</style>
<script type='text/javascript'>
$(function(){
$('#welcome').click(function(){
$(this).addClass('off');
$('#info').removeClass('off');
});
$('#info').submit(function(){
$(this).addClass('off');
$('#done span').text($('#name').val());
$('#done').removeClass('off');
return false;
});
});
</script>
</head>
<body>
<img src="https://javascript.ru/forum/images/smilies/smile.gif" id="welcome" />
<form class='off' id='info'>
<input type="text" id="name" placeholder="Введите имя" />
</form>
<p id="done" class='off'>Вот так надо, <span></span>!</p>
</body>
</html>
ksa,
Спасибо большое друг!
В лесу валом возможностей. ;)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='https://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
.off {
display: none;
}
</style>
<script type='text/javascript'>
$(function(){
$('#welcome').click(function(){
$(this).addClass('off');
$('#info').removeClass('off');
});
$('#info').submit(function(){
$(this).addClass('off');
$('#done span').text($('#name').val());
$('#done').removeClass('off');
return false;
});
});
</script>
</head>
<body>
<img src="https://javascript.ru/forum/images/smilies/smile.gif" id="welcome" />
<form class='off' id='info'>
<input type="text" id="name" placeholder="Введите имя" />
</form>
<p id="done" class='off'>Вот так надо, <span></span>!</p>
</body>
</html>
Заранее извиняюсь перед многоуважаемым Ksa, что снова мучаю вопросом.
Как сделать, чтобы при вводе определенного значения, к примеру имя "Иван", в span вывелось "Товарищ".
Я так понимаю нужно будет задать переменную со значением "Товарищ", которую мы опишем в условии, что при вводе "Иван" выведется то что в задано в var, или же это можно показать в условии.
Пытаюсь описать так, но код не работает:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='https://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
.off {
display: none;
}
</style>
<script type='text/javascript'>
$(function(){
$('#welcome').click(function(){
$(this).addClass('off');
$('#info').removeClass('off');
});
$('#info').submit(function(){
$(this).addClass('off');
$('#done span').text($('#name').val());
if ($('#name').val()=='Ирина'|| $('#name').val()=='Илья')
$('#done').removeClass('off');
else {
alert ('Возможно вы ошиблись при вводе и сделали опечатку!');
return true;
}
else if{
$(('#done span').text=='Товарищ');
if ($('#name').val()=='Иван')
}
return false;
});
});
</script>
</head>
<body>
<img src="https://javascript.ru/forum/images/smilies/smile.gif" id="welcome" />
<form class='off' id='info'>
<input type="text" id="name" placeholder="Введите имя" />
</form>
<p id="done" class='off'>Вот так надо, <span></span>!</p>
</body>
</html>
Но так не работает, не пойму почему, из-за множества условий или вероятнее всего я делаю большую ошибку.
Как сделать, чтобы при вводе определенного значения, к примеру имя "Иван", в span вывелось "Товарищ".
Ну ты, барин, задачки ставишь... (с) из к/ф "Формула любви" :D
Как вариант...
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='https://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
.off {
display: none;
}
</style>
<script type='text/javascript'>
$(function(){
$('#welcome').click(function(){
$(this).addClass('off');
$('#info').removeClass('off');
});
$('#info').submit(function(){
$(this).addClass('off');
var val=$('#name').val();
val=(val=='Иван')? 'Товарищ': val;
$('#done span').text(val);
$('#done').removeClass('off');
return false;
});
});
</script>
</head>
<body>
<img src="https://javascript.ru/forum/images/smilies/smile.gif" id="welcome" />
<form class='off' id='info'>
<input type="text" id="name" placeholder="Введите имя" />
</form>
<p id="done" class='off'>Вот так надо, <span></span>!</p>
</body>
</html>
Ну ты, барин, задачки ставишь... (с) из к/ф "Формула любви" :D
Как вариант...
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='https://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
.off {
display: none;
}
</style>
<script type='text/javascript'>
$(function(){
$('#welcome').click(function(){
$(this).addClass('off');
$('#info').removeClass('off');
});
$('#info').submit(function(){
$(this).addClass('off');
var val=$('#name').val();
val=(val=='Иван')? 'Товарищ': val;
$('#done span').text(val);
$('#done').removeClass('off');
return false;
});
});
</script>
</head>
<body>
<img src="https://javascript.ru/forum/images/smilies/smile.gif" id="welcome" />
<form class='off' id='info'>
<input type="text" id="name" placeholder="Введите имя" />
</form>
<p id="done" class='off'>Вот так надо, <span></span>!</p>
</body>
</html>
Да код работает, но строчка проверки введенных имен, при которых выходит последнее if ($('#name').val()=='Ирина'|| $('#name').val()=='Илья') не принимает, точнее игнорирует.
То есть, определенные имена он меняет на другое значение , а другие имена пропускает для дальнейшего действия.
Усе, разобрался.
Ksa, красавец, спасибо за помощь.:thanks:
Снимаю шляпу.
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot