1

Я разрабатываю ruby ​​на приложении приложений rails, где я вызываю javascript функцию onclick event и сохраняю значение. Я хочу присвоить это возвращаемое значение переменной javascript переменной predifined. Моя Javascript функция выглядит следующим образом:Как назначить возвращаемое значение функции события javascript для переменной javascript

function hideBrowser(var_i) 
{ 
k=var_i+1; 
$("#fileinput-button"+k).hide(); 
return var_i; 
} 

и звоню функции, как это:

'<div class="cancel" id="cancel'+i+'" onclick=i=(hideBrowser('+i+'))><button >Cancel</button></div>' 

Пожалуйста, помогите мне решить эту проблему.

обновление

я пытаюсь одно приложение, где первая одна кнопка просмотра отображается для пользователя, когда пользователь просматривает изображение, то, что изображение должно быть дисплей вместо кнопки просмотра, которая является предварительный просмотр изображения я сделал это, используя загрузчик файлов ajax-jquery в ruby, и другой просмотр будет видимым для пользователя. когда пользователь отменяет изображение, тогда следующая кнопка обзора должна исчезнуть, и предварительный просмотр снова должен считаться значением предыдущего. поэтому я пробовал этот подход, и все работает, но я хочу установить значение переменной i как предыдущее значение. это не работает, пожалуйста, помогите мне.

Весь приведенный выше код написан в файле javascript.

+0

, где это вам нужно? Это нехорошее решение –

+0

При инициализации ваших переменных в Javascript вы должны использовать ключевое слово 'var', чтобы не загрязнять глобальную область. Например, ваша переменная 'k' полезна/требуется только внутри функции' hideBrowser', поэтому она не должна быть глобальной. Ваш HTML также, вероятно, неверен, вы делаете ... что-то ... с одинарными кавычками, но я не совсем уверен, почему. Кроме того, вам лучше использовать jQuery для привязки обработчика событий, вместо использования атрибута 'onclick'. –

ответ

1

Я не получаю именно от вашего кода. Но см. Ниже код, он работает.

Надеюсь, это поможет вам.

<script> 
function hideBrowser(var_i) 
{ 

return var_i ; 
} 
</script> 

<div class="cancel" id="cancel'+i+'" onclick='var i=hideBrowser(10); alert(i);'><button >Cancel</button></div> 
0

Обработчики должны возвращать только истину или ложь. Возврат false отменяет событие, если это возможно. События происходят асинхронно, вы не можете вернуть другие значения другим функциям. Однако вы можете использовать другую функцию из обработчика событий и передавать любые аргументы, которые вы хотите.

Смежные вопросы