0

您好我正在尝试让 AJAX 根据单击的按钮更新表中的字段。我从 Flask 网站上拿了这个例子,并试图修改它。
现在我只是传入昵称和生日列,我希望 javascript 执行以下操作:

$.getJSON( '/update_profile2', {
    e.attr('id'): e.val(),

我尝试了一些东西,但总是打破它。我需要做什么才能使 JS 在保存时成为可调用函数,例如:

<p><a href="" id=save onclick=submit_fn($("#birthday") >Save</a> 

当前的 HTML:

     <input type=text size=5 name=nickname id="test" value="{{ profile['nickname']|default('TEST') }}">
     <span id=result></span></p><p>
     <a href="" id=save  >Save</a>     

     <input type=text size=5 name=birthday id=birthday value="{{ profile['birthday']|default('') }}">

     <button id="submitbtn" name="submitbtn" onclick=submitfn1($("#birthday")>SAVE</button>

     <span id=result2></span><p><a href="" id=save  >Save</a> 

当前的Javascript:

$(function() {
var submit_form = function(e) {


  $.getJSON( '/update_profile2', {
      nickname: $('input[name= "nickname"  ]').val(),
      birthday : $('input[name="birthday"]').val(),
  }, function(data) {
    $('#result').text(data.nickname);
    $('#result2').text(data.birthday);
    $('input[name=a]').focus().select();
  });
  return false;
};

$('a#save').bind('click', submit_form);

$('input[type=text]').bind('keydown', function(e) {
  if (e.keyCode == 13) {
    submit_form(e);
  }
});

$('input[name=nickname]').focus();
});

谢谢

4

1 回答 1

0

我能够得到这个工作。我在使用 getJSON 时遇到了一点麻烦,但能够在 Stack 上拼凑出答案。如果有人可以改进这一点,请做。

function createJSON(className) {
function loadData(link, dataIn)
{
    var data = $.getJSON(link, dataIn);
    return data;
}
var myClass = className;
 $("input[class=" + className + "]").each(function() {
    var value = $(this).val();
    var item = [];
    item[0] = $(this).attr('name') + "=" + value ;
    var result;

    for(var i = 0; i< item.length; i++)
        {
        (function(i){
            loadData('/update_profile', item[i]).done( function(data) {
                     $.each( data, function( key, val ) {
                      var x = ('#' + key);
                     $(x).text(val);
                     $('#result2').text(val);
                     });

        $('input[name=nickname]').focus().select();
                });
            })(i);
        }

});

$('input[name=nickname]').focus();

};

于 2013-10-31T04:55:02.573 回答