我有一个问题,我通过jquery将表单提交到本地数据库。但是,基于其中一个输入字段,我将调用ajax来获取匹配的图片文件名。当我单击submit时,脚本会运行,但是ajax的函数会在数据放入数据库表后运行(我看到在输入表单数据后会触发警报)。因此,我无法在提交表单时输入图像名称。您能帮助我理解如何在sql函数运行之前进行ajax函数调用以获取newpic的值吗?
下面是我的示例代码,删除了安全详细信息。谢谢你的帮助。
$("#submit_item").click(function(e){
e.preventDefault();
var prodID = $("#i_admin_prodID").val();
var userID = $("#i_admin_uid").val();
var drawSize = $("#i_admin_dSize").val();
var pocket = $("#i_admin_pocket").val();
var orgItemID = $("#i_admin_orgItemID").val();
var itemID = $("#admin_item_id").val();
if ( itemID ) {
newpic = getPicture(itemID);
}
db.transaction(function (tx) {
tx.executeSql("INSERT INTO vend_products ...")
}, function(error) {
alert("error" + error.message);
}, function() {
sendOrdertoEmail();
});
});
function getPicture(zItemID) {
$.ajax({
type: "POST",
url : '/get_new_picture.php?IT=' + zItemID,
dataType: "json",
success: function(data) {
alert('PIC: ' + data );
return data;
},
error: function() {
alert('Error occured');
}
});
}
1条答案
按热度按时间z9zf31ra1#
您遇到的问题是由于异步工作的ajax造成的。
我不知道你是否想要求归还任何东西。我让你修改你的项目
试着这样做: