【问题标题】:Ajax - How Do I Populate a Hidden Field?Ajax - 如何填充隐藏字段?
【发布时间】:2011-03-29 02:00:29
【问题描述】:

我是 Ajax 的新手。我想用来自服务器的 responseText 填充表单上的隐藏字段。我能够将 HTML 中的 responseText 显示为 innerHTML。我只是不确定如何填充表单上的隐藏字段。任何建议将不胜感激!

:)

这是 JS:

  function getLocation(locationrouting) 
    {
   var getLocation= newXMLHttpRequest(); // sending request
   getLocation.open("GET", "/PP?PAGE=GETLOCATIONNAME&ROUTINGNUM=" + locationrouting, false);
   getLocation.send(null); // getting location

     var dv = document.getElementById("location_div");
     var verifyUnfound()

     if (getlocation.responseText === 'LOCATION NOT FOUND')
     {
       dv.style.color = "red";
     }
      else 
     {
      dv.style.color = "black";
    }
   dv.innerHTML = getLocation.responseText;
    }

【问题讨论】:

  • +1 用于拥有用户名 Spockrates

标签: ajax innerhtml hidden-field populate responsetext


【解决方案1】:

HTML:

<input type="hidden" id="someid" name="somename" value="somevalue">

JS:

var hiddenField = document.getElementById('someid');
hiddenField.value = <whatever>;

您可以将您的功能更改为:

function getLocation(locationrouting) {
    var getLocation= newXMLHttpRequest(); // sending request
    getLocation.open("GET", "/PP?PAGE=GETLOCATIONNAME&ROUTINGNUM=" + locationrouting, false);
    getLocation.send(null); // getting location

    var dv = document.getElementById("location_div");
    var verifyUnfound();
    var hiddenField = document.getElementById('someid');

    if (getlocation . responseText === 'LOCATION NOT FOUND') {
        dv.style.color = "red";
    } else {
        dv.style.color = "black";
    }
    dv.innerHTML = getLocation . responseText;
    hiddenField.value = getLocation . responseText;
}

【讨论】:

  • 感谢您的回复!因此,鉴于我的 JS,我应该如何修改您的代码以替换任何内容?
  • @Spock 你想把回复放在那里吗?
  • 这行得通吗? var hiddenField = document.getElementById('someid'); hiddenField.value = ('getLocation.responseText');
  • 是的,我确实想把它放在那里。也就是说,我希望页面上显示的 responseText 也是隐藏字段的值。这样,如果隐藏字段具有该值,我可以使用我的验证 JS 来阻止表单提交。谢谢。
  • 甜蜜!比我想象的要容易。非常感谢。 :)
【解决方案2】:

使用 jQuery,它会让设置值和执行 AJAX 请求更容易。

$("#something").attr("value", myvalue)

【讨论】:

  • 谢谢。我希望该值与 getLocation.responseText 相同。请告诉我应该怎么做。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多