在发送的jsp表单中看不到jQuery中的动态更改值

时间:2015-02-06 06:04:58

标签: javascript jquery jsp

我在单击按钮上提交表单,但无论我更改了哪些数据都没有发送但是先前的数据已发送,有没有一种方法可以在表单中提交字段的数据然后发送?? < / 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();
         }
     });
}

这是改变功能

1 个答案:

答案 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();
         }
     });
}