|
|

18.04.2015, 14:43
|
 |
Кандидат Javascript-наук
|
|
Регистрация: 14.06.2014
Сообщений: 137
|
|
|
onclick только если onchange
Добрый день!
Есть два неких инпута с прописанными onchange и onclick с вызовами разных функций.
Как сделать так, что бы если у первого сработал onchange, то у второго активировался onclick (и когда кликнут по второму инпуту, произойдет вызов определенной функции).
А если у первого не сработал onchange, то и у второго не будет срабатывать onclick
Если не очень понятно, могу наглядный пример нарисовать
|
|

18.04.2015, 14:53
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,155
|
|
|
qwe88,
сделайте в клик проверку checked первого input
|
|

18.04.2015, 18:17
|
 |
Кандидат Javascript-наук
|
|
Регистрация: 14.06.2014
Сообщений: 137
|
|
|
Забыл уточнить, что у меня инпуты текстовые, а не чекбоксы
|
|

18.04.2015, 18:28
|
 |
Кандидат Javascript-наук
|
|
Регистрация: 14.06.2014
Сообщений: 137
|
|
В общем мне нужная такая штука, только видимо не так пишу, вот и не работает:
|
Код:
|
<input onchange="chbe()" type="text" id="bebe">
<input onclick="clib2()" type="text" id="bebe2">
<script>
var bebe = document.getElementById("bebe");
var bebe2 = document.getElementById("bebe2");
function chbe(){
bebe2.value = bebe.value; //тут дубль одного поля в другое
}
function clib2(){ //тут если если первое поле было поменяно, то будет вызов функции
if (bebe.onchange){
eslicl()
}
else{ // если не поменяно, то вызова не будет
}
}
function eslicl(){ // это сама функция, которая вызывается при первом условии
alert("slova")
}
</script> |
Последний раз редактировалось qwe88, 18.04.2015 в 18:43.
|
|

18.04.2015, 19:39
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,155
|
|
qwe88,
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<input onchange="chbe()" type="text" id="bebe">
<input onclick="clib2()" type="text" id="bebe2">
<script>
var bebe = document.getElementById("bebe");
var bebe2 = document.getElementById("bebe2");
var change = false;
function chbe(){
bebe2.value = bebe.value; //тут дубль одного поля в другое
change = bebe.defaultValue != bebe.value;
}
function clib2(){ //тут если если первое поле было поменяно, то будет вызов функции
if (change){
eslicl()
}
else{ // если не поменяно, то вызова не будет
}
}
function eslicl(){ // это сама функция, которая вызывается при первом условии
alert("slova")
}
</script>
</body>
</html>
|
|

18.04.2015, 19:44
|
 |
Кандидат Javascript-наук
|
|
Регистрация: 14.06.2014
Сообщений: 137
|
|
Допер)))
<input onchange="chbe()" type="text" id="bebe">
<input type="text" id="bebe2">
<script>
var bebe = document.getElementById("bebe");
var bebe2 = document.getElementById("bebe2");
function chbe(){
bebe2.value = bebe.value;
bebe2.onclick = function(){
alert("slova")
}
}
</script>
|
|

18.04.2015, 19:48
|
 |
Кандидат Javascript-наук
|
|
Регистрация: 14.06.2014
Сообщений: 137
|
|
|
рони,
Спасибо огромное за помощь)
|
|

18.04.2015, 21:06
|
 |
Кандидат Javascript-наук
|
|
Регистрация: 14.06.2014
Сообщений: 137
|
|
|
Подскажите, пожалуйста, как поставить запрет на вызов функции второй раз?
|
|

18.04.2015, 21:13
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,155
|
|
|
qwe88,
поставь переменную запиши что уже запускалось проверяй перед запуском или обнули onclick после того как функция отработает
Последний раз редактировалось рони, 18.04.2015 в 21:17.
|
|

18.04.2015, 21:15
|
 |
Кандидат Javascript-наук
|
|
Регистрация: 14.06.2014
Сообщений: 137
|
|
|
Супер!!
Спасибо!
|
|
|
|