Некоторые фона:Любопытно: возможно ли иметь динамические имена переменных данных Ajax?
На недавнем проекте я попытался написать обтекаемый 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 (не спрашивайте меня, я просто фронтмен :).
Заранее благодарен!
Как вы планируете общаться желаемое имя переменной функция? Будет ли это параметром? – JorenB