Ajax传递提示输入到php

时间:2018-06-11 09:56:48

标签: php jquery ajax prompt

使用PHP循环动态创建表单,并从DB中显示一行。当他改变数量时,我要求用户通过提示输入,但是当我用AJAX将它发送给PHP时,它是空的。我想这是因为隐藏的输入“new_message”在AJAX向PHP脚本发送值的同时被填充,所以当时是空白。对于生成的第一行,我收到一条消息,但不是任何其他行。

你能帮助我如何将提示输入传递给PHP脚本吗?

public static OffsetDateTime ToOffsetDateTimeUTC (this LocalDate localDate, string tzId) {
    LocalTime time = new LocalTime (23, 59, 59);
    LocalDateTime localDateTime = (localDate + time);
    DateTimeZone dtz = DateTimeZoneProviders.Tzdb[tzId];
    Offset offset = dtz.GetUtcOffset (Instant.FromUtc (localDateTime.Year, localDateTime.Month, localDateTime.Day, time.Hour, time.Minute));
    return new OffsetDateTime (localDateTime, offset);
}
//Update qty on article    
$('.update_qty').on('change', function() {

  var message = prompt("Upišite razlog za izmjenu količine:");
  //e.preventDefault();

  //Get message value
  $('#new_message').val(message);

  var data = $('#form1').serializeArray();

  if (message != "" || message != NULL) {
    $.ajax({
      type: 'POST',
      url: 'update_qty.php',
      data: data,
      success: function(data) {
        alert(data);
      }
    });
  } else {
    alert("Empty");
    e.PreventDefault();
    return false;
  }
});

1 个答案:

答案 0 :(得分:0)

问题是您有多个具有相同id的元素。你不应该这样做。您检查jQuery中的值,然后发送不同的表单数据。

这一切都只是休息,我无法检查。但请尝试将id更改为class,并确保发送正确的表单数据。

例如更改此

<form name="form1" id="form1" method="POST" action="update_qty.php">

到这个

<form name="form1" id="form<?= $sales_key; ?>" method="POST" action="update_qty.php">