0
$(".submitinfo").each(function() {
  // Want to use ID as POST name
  // And value as POST value
});
// Submit the data
$.ajax({
  url: 'submit.php',
  traditional: true,
  data: {
  'submit':'true',
  'age':$('#age').val(),
  'loss':$('#loss').val()
      // somehow include results here
},
type: 'POST',
async: false,
success: function(data) {
  alert(data);

},
error: function() {
  alert('Submit Error');
}
});

私はこれまでこれを行う必要はなく、どこにもその例を見つけることができません。私は、ajaxリクエストを介して他の入力と一緒に送信できるようにしたいsubmitinfoのクラスを持つ一連の入力を持っています。これどうやってするの?詳細については、コードコメントを確認してください。

ありがとう!

4

3 に答える 3

1

ajax経由でフォームを送信しようとしているようです。

私がこれに使用する JavaScript イディオムは、はるかに短くて単純です。つまり、serialize関数を使用してフォーム jquery オブジェクトをシリアル化します。これにより、ajax に適した形式になります。これを$.postに直接送信できます。フォーム要素の name 属性は、サーバー側のリクエスト パラメータ名に対応します。

$.post(url, $('form').serialize(), function(data) {
    alert("Success");
});
于 2012-10-02T21:02:11.127 に答える
1

オブジェクトを作成し、関数の値をオブジェクトに追加し、eachそのオブジェクトを$.ajaxdata として渡します。

var data = {
  submit : 'true',
  age    : $('#age').val(),
  loss   : $('#loss').val()
 }

$(".submitinfo").each(function() {
    data[this.id]=this.value;
});

$.ajax({
  url: 'submit.php',
  traditional: true,
  data: data,
  type: 'POST',
  async: false,
  success: function(data) {
    alert(data);
  },
  error: function() {
    alert('Submit Error');
  }
});
于 2012-10-02T20:47:10.260 に答える
0

これはあなたのために働きます:

var data = {};
$('.submitinfo').each(function() {
    var el = $(this),
        id = el.attr('id'),
        val = el.val();

    data[id] = val;
}); 

$.ajax({
  url: 'submit.php',
  traditional: true,
  data: data,
  type: 'POST',
  async: false,
  success: function(data) {
    alert(data);
  },
  error: function() {
    alert('Submit Error');
  }
});
于 2012-10-02T20:51:01.987 に答える