我在单击按钮上提交表单,但无论我更改了哪些数据都没有发送但是先前的数据已发送,有没有一种方法可以在表单中提交字段的数据然后发送?? < / p>
$j("body").on('click', "#btn_snd",function(){
Retrieve_Property_name();
$j(this).closest("form").submit();
});
});
使用ajax
完成更改function Retrieve_Property_name()
{
$j(".class_cat").hide();
var property_name = $j("#property_name").val();
$j.ajax({
type : "POST",
url : "ShowCat.jsp",
data : "property_name=" + property_name ,
success : function(data) {
if(data.trim()=="No")
{
$j("#Cat_name_hidden").val("General");
alert("Inside No");
}
else if(data.trim()=="Yes")
{
alert("Inside yes");
if($j("#Cat_name").val()==null)
{
$j("#Cat_name_hidden").val(" NULL");
}
else
{
//
alert("Categories:-"+$j("#Cat_name").val());
$j("#Cat_name_hidden").val($j("#Cat_name").val());
//
arr1 = $j("#Cat_name").val();
}
$j(".class_cat").show();
}
alert();
}
});
}
这是改变功能
答案 0 :(得分:0)
而不是从submit
函数调用on
函数:
$j(this).closest("form").submit();
你可以在success
函数中完成ajax调用之后执行此操作:
$j("#btn_snd").closest("form").submit();
我的猜测是在ajax请求完成之前提交表单,因此会发布旧值。理想情况下,改变功能将是:
function Retrieve_Property_name()
{
$j(".class_cat").hide();
var property_name=$j("#property_name").val();
$j.ajax({
type : "POST",
url : "ShowCat.jsp",
data : "property_name=" + property_name ,
success : function(data) {
if(data.trim()=="No")
{
$j("#Cat_name_hidden").val("General");
alert("Inside No");
}
else if(data.trim()=="Yes")
{
alert("Inside yes");
if($j("#Cat_name").val()==null)
{
$j("#Cat_name_hidden").val(" NULL");
}
else
{
//
alert("Categories:-"+$j("#Cat_name").val());
$j("#Cat_name_hidden").val($j("#Cat_name").val());
//
arr1 = $j("#Cat_name").val();
}
$j(".class_cat").show();
}
alert();
$j("#btn_snd").closest("form").submit();
}
});
}