Некоторый фон:
В недавнем проекте я попытался написать модернизированный плагин jQuery, который обрабатывал бы некоторые вызовы Ajax, сделанные при обновлении различных входных данных. Я написал функцию JavaScript как плагин, чтобы я мог просто вызывать ее для различных входных данных, например:
$("#email").updateChanges();
Затем из плагина я собрал идентификатор, значение и т. Д. Ввода
Проблема:
Что-то, что я действительно хотел сделать, но не смог найти решение, - это динамически генерировать имя переменной данных, передаваемой через ajax.
Для большей ясности, учитывая эту функцию:
jQuery.fn.updateChanges = function(){
this.bind('blur',function(){
var inputName = $(this).attr("name");
var inputValue = $(this).val();
$.post('/ajax/updateValue.php',
{ email: inputValue }, function(ret){
if (ret=='success') alert("all good!");
}
}
}
... как представить данные для вызова Ajax как { password: inputValue }
вместо { email: inputValue }
, когда переменная inputName имеет значение «пароль» вместо «электронная почта»? Это очень конкретный пример, но в основном я просто ищу способ прочитать имя переменной данных из отдельной динамической переменной.
Я попытался window[inputName]
без удачи, и я почти уверен, что это невозможно. Однако, если у кого-то есть идея, я буду очень впечатлен.
Кстати, в итоге мы взяли вместо { type: inputName, value: inputValue }
, но это потребовало немного больше работы со стороны PHP (не спрашивайте меня, я просто фронтенд :)).
Заранее спасибо!