java - 从 ajax 成功调用传递值

标签 java ajax

我如何将ajax成功函数的值传递给我的javascript fxn。 在这里我想确定是否使用“pass”变量的值提交表单 但即使 x = 60,pass 也始终等于 0。为什么?

<form id="stdform" method="post" action="registrtn.php" onsubmit=" return submitForm()">
<input type="text" id ="age" value="30">
<input type ="hidden" id="std" value="STD102"><!--the age for student ID is retrieved frm db using ajax-->
...
<button>submit form </button>
</form>

<script>
function submitForm(){
var ageLimit = document.getElementById("age").value;
var stdid = document.getElementById("std").value ;
var pass = 0;

$.ajax({
    type:'POST',
    url: 'pre-reg.php',
    data:{
       'id':stdid
       },
    success:function(result){
       var x = parseInt(result);
      if (x >= ageLimit) {
           pass = 1;
        }   
      checkvalue(pass);
    }
  });
}
function checkvalue(pass_val){
   if (pass_val==1){
     document.getElementById("stdform").submit();
    }else{
       alert(pass_val);//this shows up=>0, on false condition 
       document.getElementById("errormsg").style.display="block";//this escapes because form already submits
    }
}
</script>

最佳答案

您可以创建一个函数,当您的ajax 成功执行时将调用该函数,并将结果传递给该函数以进行进一步处理。因此,您的ajax将如下所示如下:

function submitForm() {
  var ageLimit = document.getElementById("age").value;
  var stdid = document.getElementById("std").value;
  var pass = 0;

  $.ajax({
    type: 'POST',
    url: 'pre-reg.php',
    data: {
      'id': stdid
    },
    success: function(result) {
      var x = parseInt(result);
      if (x >= ageLimit) {
        pass = 1;
      }
      check_values(pass); //call function   
    }
  });
}
//pass value
function check_values(pass_val) {
  if (pass_val == 1) {
    //submit form
    document.getElementById('stdform').submit();
  } else {
    alert("something not right")
  }

}

您的表格:

<form id="stdform" method="post" action="registrtn.php">
<input type="text" id ="age" value="30">
<input type ="hidden" id="std" value="STD102"><!--the age for student ID is retrieved frm db using ajax-->
...
<button onclick="submitForm()">submit form </button>
//^^onclick added
</form>

关于java - 从 ajax 成功调用传递值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62232448/

相关文章:

ajax - 如何使用 PrimeFaces p :droppable inside datatable?

javascript - 无形地将数据发送回服务器 - 不生成回发

java - 请求映射 : How to access the "method" value used for a rest endpoint

java - 未知错误 : DevToolsActivePort file doesn't exist

html - 隐藏一个 DIV [Rails]

php - 使用 jQuery/Ajax 提交表单只能每隔一段时间有效

jquery - 在 JQuery 验证中避免 'async: false'

java - 设置ClassLoader的开销

c# - 使用单一方法类——最好的方法?

java - 如何保证类加载