Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.01.2014, 15:41
Аспирант
Отправить личное сообщение для skillful Посмотреть профиль Найти все сообщения от skillful
 
Регистрация: 18.09.2012
Сообщений: 55

Узнать какая кнопка была нажата jquery или java
Здравствуйте. Есть вот такой код:
function get(form){
...
alert('Какая именно кнопка нажата');	
}


Код:
<form action="" method="POST" onsubmit="return get(this);">
<input name="kn1" id="kn1" value="Кнопка1" type="submit">
<input name="kn2" id="kn2" value="Кнопка2" type="submit">
</form>
Как в функции get() узнать какая кнопка была нажата?
Ответить с цитированием
  #2 (permalink)  
Старый 27.01.2014, 16:09
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,257

Сообщение от skillful
Как в функции get() узнать какая кнопка была нажата?
Как вариант...

<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
function get(form){
	var val=form.getAttribute('data-button');	
	alert('Какая именно кнопка нажата - '+val);	
};
function on(Obj){
	var o=Obj.parentNode;
	o.setAttribute('data-button',Obj.id);	
	alert(o.getAttribute('data-button'))
	o.submit();
};
</script>
</head>
<body>
<form action="" method="POST" onsubmit="return get(this);" data-button='kn1'>
	<input name="kn1" id="kn1" value="Кнопка1" type="submit" />
	<input name="kn2" id="kn2" value="Кнопка2" type="button" onclick='on(this);' />
</form>
</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 27.01.2014, 16:27
Аспирант
Отправить личное сообщение для skillful Посмотреть профиль Найти все сообщения от skillful
 
Регистрация: 18.09.2012
Сообщений: 55

Сообщение от ksa
Как вариант...
Ну совсем не вариант!!
Почему в form "data-button='kn1'"?
type="submit" не должен меняться на type="button"
Ответить с цитированием
  #4 (permalink)  
Старый 27.01.2014, 16:31
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,257

Сообщение от skillful
Ну совсем не вариант!
Тогда сам, сам...
Ответить с цитированием
  #5 (permalink)  
Старый 27.01.2014, 16:39
Аспирант
Отправить личное сообщение для skillful Посмотреть профиль Найти все сообщения от skillful
 
Регистрация: 18.09.2012
Сообщений: 55

Сообщение от ksa
Тогда сам, сам...
Не, не сам, не сам... Если б сам, сюда не писал бы....
Ответить с цитированием
  #6 (permalink)  
Старый 27.01.2014, 18:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,145

skillful,

<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
   <script>
 window.onload = function () {
    var id = "",
        form = document.querySelector("form");
    form.onsubmit = function (a) {
        alert(id);
        return !1
    };
    form.onclick = function (a) {
        a = a.target || window.event.srcElement;
        "INPUT" == a.tagName && (id = a.id)
    }
};
  </script>
</head>
<body>
<form action="" method="POST" >
<input name="kn1" id="kn1" value="Кнопка1" type="submit">
<input name="kn2" id="kn2" value="Кнопка2" type="submit">
</form>
</body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 27.01.2014, 18:13
Аватар для Cuntmann
Аспирант
Отправить личное сообщение для Cuntmann Посмотреть профиль Найти все сообщения от Cuntmann
 
Регистрация: 26.01.2014
Сообщений: 78

ну, у меня получилось примерно то же самое, но более приземленно:

<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>XZ</title>
<style>
body{color:#000;background-color:#fcfcfc;font-family:Georgia,'Bookman Old Style',Verdana;font-size:14px;text-align:center;}
input{text-align:center;}
</style>
<script>
var ID;

function get(frm){
alert('Кликнули по кнопке с айди '+ID);
return false;
}

window.onload=function(){

var f=document.forms[0],
    elems=f.elements;
for(var i in elems){
if(elems[i].type=='submit'){
elems[i].onmousedown=function(){
ID=this.attributes['id'].nodeValue;
}
}
}

}
</script>
</head>
<body>
<form action="" method="POST" onsubmit="return get(this);">
<input name="kn1" id="kn1" value="Кнопка1" type="submit" />
<input name="kn2" id="kn2" value="Кнопка2" type="submit" />
</form>
</body>
</html>


п.с. понравилось
Цитата:
return !1
Ответить с цитированием
  #8 (permalink)  
Старый 28.01.2014, 20:42
Аспирант
Отправить личное сообщение для skillful Посмотреть профиль Найти все сообщения от skillful
 
Регистрация: 18.09.2012
Сообщений: 55

рони
Спасибо, работает...

Сообщение от Cuntmann
ну, у меня получилось примерно то же самое, но более приземленно:
Cuntmann - то, что надо, идеально, спасибо большое!

Последний раз редактировалось skillful, 28.01.2014 в 22:50.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по jquery - как узнать какой тэг? APL Общие вопросы Javascript 7 09.06.2016 15:22
Работа с датой на JS или jQuery Bond Общие вопросы Javascript 2 17.06.2013 19:40
Узнать os юзера на jquery BorisBritva jQuery 2 28.03.2012 15:22
Найти проблему с jQuery или писать js? Saladdin Элементы интерфейса 0 17.03.2011 17:02
Игра орел или решка на jquery. В любом случаи выводит вы проиграли! Dimaz jQuery 4 25.12.2009 15:04