Флаг функции как переменная
Приветствую!
Подскажите как из такого выражения onclick="newfunc(value)" достать value и присвоить его переменной, то есть
function newfunc() {
var abc = value;
var abcd = value1;
}
|
function newfunc(newvalue){
var abc = newvalue;
}
Вот только это вопрос нифига не для форума. Это вопрос к самым первым главам любого учебника программирования. Причём даже не обязательно javascript. |
А какой смысл? Называйте сразу получаемый аргумент как Вам больше нравится.
function newfunc(abc) {
}
|
Цитата:
То есть
newfunc(value)
newfunc(value1)
newfunc(value2)
function newfunc() {
var abc = value;
var abcd = value1;
var abcde = value2;
}
|
cript, функция вызывается каждый раз, соответственно исполняется каждый раз заново.
Можно изобразить что-то типа стека:
newfunc('value');
newfunc('value1');
newfunc('value2');
function newfunc(value) {
if(!newfunc.stack) newfunc.stack = [];
newfunc.stack.push(value);
if(newfunc.stack.length<3) return;
var abc = newfunc.stack[0];
var abcd = newfunc.stack[1];
var abcde = newfunc.stack[2];
//работа с этими переменными
alert([abc, abcd, abcde]);
}
но зачем?.. |
Цитата:
Вот например несколько ссылок <a href="#" onclick="newfunc(value)">Click</a> <a href="#" onclick="newfunc(value1)">Click1</a> <a href="#" onclick="newfunc(value2)">Click2</a> Они вызывают одну функцию, но имеют разное значение. Цитата:
|
Цитата:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<script>
function newfunc(x) {
var abc = x;
alert(abc);
}
</script>
<a href="#" onclick="newfunc(111)">Click1</a><br>
<a href="#" onclick="newfunc(222)">Click2</a><br>
<a href="#" onclick="newfunc(333)">Click3</a>
</body>
</html>
Можно конечно написать код для получения всех аргументов с которыми функции вызываются на ссылках. Что-нибудь типо этого:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<script>
function newfunc() {
var links = document.querySelectorAll('a[onclick^=newfunc]');
var args = [];
for(var i = 0; i < links.length; i++) {
var onclickAttr = links[i].getAttribute('onclick');
var arg = onclickAttr.match( /newfunc\((.+)\)/ )[1];
args.push(arg);
}
var abc = args[0];
var abcd = args[1];
var abcde = args[2];
alert(abc + ', ' + abcd + ', ' + abcde);
}
</script>
<a href="#" onclick="newfunc(111)">Click1</a><br>
<a href="#" onclick="newfunc(222)">Click2</a><br>
<a href="#" onclick="newfunc(333)">Click3</a>
</body>
</html>
Но это абсолютнейшее извращение и так делать не надо. А вообще, раз такие странные вопросы возникают, то не мешало бы хотя бы основы подучить. |
cript, ни хрена не понял.
Напиши чётко по пунктам от каких действий какого результата ты ожидаешь? |
Цитата:
Кликаю по одной из ссылок <a href="#" onclick="newfunc(111)">Click1</a> <a href="#" onclick="newfunc(222)">Click2</a> <a href="#" onclick="newfunc(333)">Click3</a> Вызывается функция, которая с помощью ajax вызывает нужный файл, а уже внутри самой функции if(value == '111') ... if(value == '222') ... if(value == '333') ... и т.д.. Цитата:
<script>
function newfunc(x) {
var abc = x;
alert(abc);
}
</script>
<a href="#" onclick="newfunc(opt)">Click</a>
|
Цитата:
onclick="newfunc('opt')"
Цитата:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<script>
function newfunc(x) {
if (x == 'aaa') {
alert(111);
}
if (x == 'bbb') {
alert(222);
}
if (x == 'ccc') {
alert(333);
}
}
</script>
<a href="#" onclick="newfunc('aaa')">Click1</a><br>
<a href="#" onclick="newfunc('bbb')">Click2</a><br>
<a href="#" onclick="newfunc('ccc')">Click3</a>
</body>
</html>
|
| Часовой пояс GMT +3, время: 21:46. |