【发布时间】:2018-06-10 10:50:50
【问题描述】:
我试图让用户在 ajax 将数量提交到数据库之前输入更新数量的原因。
这是 jquery 代码,它将 qty 更改发送到更新 db 的 php 脚本。出于某种原因,我无法停止 ajax 并显示提示以供用户显示,以便他可以写下他更新数量的原因。谁能告诉我为什么没有显示提示?
<form name="form1" id="form1" method="POST" action="update_qty.php">
<input type="text" name="update_qty" class="update_qty" id="qty" value="<?php echo $sales_value['qty'] ?>"><?php echo ' Kom'; ?>
<input type="hidden" name="article_id" id="article_id" value="<?php echo $sales_value['article_id']; ?>">
<input type="hidden" name="sales_plan_id" id="sales_plan_id" value="<?php echo $sales_plan_id; ?>">
<input type="hidden" name="product_mix_id" id="product_mix_id" value="<?php echo $product_mix_id; ?>">
</form>
//Update qty on article
$(document).ready(function() {
$('.update_qty').on('change', function() {
var message = prompt("Upišite razlog za izmjenu količine:");
alert(message);
//e.preventDefault();
var article_id = $("#article_id").val();
var sales_plan_id = $("#sales_plan_id").val();
var update_qty = $(this).val();
var product_mix_id = $("#product_mix_id").val();
if (message != "" || message != NULL) {
$.ajax({
type:'POST',
url:'update_qty.php',
data:{ article_id: article_id, sales_plan_id: sales_plan_id, update_qty: update_qty, product_mix_id: product_mix_id, message: message },
success:function(data) {
alert(data);
}
});
} else {
e.PreventDefault();
return false;
}
});
});
【问题讨论】:
-
您的代码运行良好 here。控制台有错误吗?
-
没有错误,这就是我困惑的原因。
-
如果你在
//e.preventDefault();之前添加一个console.log("hello");,模糊时你在控制台看到了吗? -
是的,我可以看到。如果我将事件更改为“更改”而不是显示提示但仅针对第一行,这很奇怪。什么时候事件“模糊”而不是根本不显示?
-
嗯...元素是什么?是
<input>吗?