javascript - ajax 调用后输入值为空

标签 javascript jquery html ajax

我在 HTML 代码中单击按钮后进行了以下 AJAX 调用:

HTML:

<div id="singlemethod">
    <input type="hidden" id="teachersol" value="">
    [...]
    <button type="button" id="run" onclick="javascript:play(1, 105, 2)"> 
    <img src="./images/green_play.png" width="40px" height="40px"> </button>
</div>

JAVASCRIPT/AJAX:

function play(mn, id, nofm) {
     for (i=1; i<=nofm; i++)
         getSolution (i, id, mn);
     executemethod (mn, id);
}

function getSolution (mn, id, actmn) {
     $.ajax({
             type: "GET",
             url: "ajax/getteachsol.php",
             data: "id="+id+"&number="+mn,
             success: function(data){
                      $('#teachersol').val(data);
             }
     });
     return false;
}

function executemethod (mn, id) {
     var teach= document.getElementById('teachersol').value;
     alert (teach);
     [...]
}

如果我使用警报检查该值,它不会打印任何内容,但如果我使用 Chrome 检查该元素,我会在值字段中看到我期望的内容。知道为什么它不在执行方法中打印任何内容吗?可能是 AJAX 的问题(我对此还很陌生)?如果您需要任何其他信息,请询问!谢谢!

最佳答案

function getSolution (mn, id, actmn) {
     $.ajax({
             type: "GET",
             url: "ajax/getteachsol.php",
             data: "id="+id+"&number="+mn,
             success: function(data){
                      $('#teachersol').val(data);
 executemethod (mn, id);
             }
     });
     return false;
}

请稍微更改一下代码,您可以在ajax函数中调用Executemethod

  function play(mn, id, nofm) {
         for (i=1; i<=nofm; i++)
             getSolution (i, id, mn);
//and remove from here
    }

现在检查你是否得到相同的结果?虽然我还没有测试过

原因是您的警报在 ajax 完成之前调用

关于javascript - ajax 调用后输入值为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22296829/

相关文章:

javascript - HTML5 样板文件中的 "Uncaught ReferenceError: exports is not defined"

javascript - 向javascript添加超时延迟?

javascript - Highcharts 不会显示数据

javascript - 如何在 asp.net 中回发后更改 html td 元素的颜色?

jquery - 使用Browserify时获取 "Uncaught ReferenceError: jQuery is not defined"

html - CSS 行尾背景样式

javascript - 关闭弹出窗口时如何调用函数

javascript - 更改弹出窗口的内容类型

html - 在一列中,另一个高度的一个 div flex

html - 让视障人士可以访问网站?