JavaScript : trouble passing value to alert from hidden tag or text

标签 javascript

我有一个 html 文件,它将值传递到 java servlet 中以插入数据库。这是我的代码:

<html>
<head>
<script type="text/javascript">
function masinsert(id)
{
 var currentTime=new Date();


 var button = document.getElementById("m"+id);
 button.onclick="";
 button.value="Inserting";

 var partnumber     = document.getElementById("partnumber"+id).value;
 var itemcost       = document.getElementById("itemcost"+id).value;
 var itemlistprice  = document.getElementById("itemlistprice"+id).value;
 var sUnitMeasKey   = document.getElementById("UnitMeasKey"+id);
 var sPurchProdLine     = document.getElementById("PurchProdLine"+id);
 var sItemClassKey  = document.getElementById("itemclasskey"+id);

 var UMKselected = getSelected(sUnitMeasKey);
 var PPLselected = getSelected(sPurchProdLine);
 var ICKselected = getSelected(sItemClassKey);

 function handleHttpResponse()
  {
   if (http.readyState == 4) {
    button.value="Imported";
   }
  }


 var http = getHTTPObject(); // We create the HTTP Object
 var tempUrl = "\MASInsert2";
 tempUrl +=  "?partnumber="+partnumber+"&"+"itemcost="+itemcost+"&"+"itemlistprice="+itemlistprice+"&"+"UnitMeasure="+UMKselected+"&"+"PurchProdLine="+PPLselected+"&"+"itemclasskey="+ICKselected;
  alert(tempUrl);
 http.open("POST", tempUrl, true);
 http.onreadystatechange = handleHttpResponse;
 http.send(null);   
}


function getSelected(ele)
{
    return ele.options[ele.selectedIndex].value;
}

function getHTTPObject(){
 var xmlhttp;
 /*@cc_on
 @if (@_jscript_version >= 5)
   try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
   }catch (e){
    try {
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
     }catch (E) {
      xmlhttp = false;
      }
  }
  @else
  xmlhttp = false;
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
    } catch (e) {
      xmlhttp = false;
    }
  }
  return xmlhttp;
 }
</script>
</head>
<body>

<form name=bob method=get>
<input type=hidden id="partnumber321" name="partnumber321" value="884910U">
<input type=hidden id="itemcost321" name="itemcost321" value="1027.39">
<input type=hidden id="itemlistprice321" name="itemlistprice321" value="1129.0">
<input type=hidden id="itemdescription321" name="itemdescription321" value="XSERIES 306M SS P4 3.0GHZ 1MB">
<select id="UnitMeasKey321" name="UnitMeasKey321"><option value="112">Each</select>
<select id="PurchProdLine321" name="PurchProdLine321"><option value="18">IBM</select>
<select id="itemclasskey321" name="itemclasskey321"><option value="48">Hardware</select>
<input id="m321" type="button" onclick="masinsert('321')" value="Add">
</form>
</body>
</html>

当我点击按钮时,alert(partnumber) 返回 null (firefox) 或 object (IE)。我是否错误地传递了这些值以供 servlet 处理?有什么想法吗?它不应该返回一个值吗?

提前致谢

最佳答案

Firefox 返回 null,因为没有该名称的 ID。如果您不想为输入分配 id,请调用 GetElementByName

IE 返回一个对象,因为 DOM 元素是对象。您需要检查其属性之一(最有可能是value)以查看它的实际设置。

IE 不应返回对象,但它天真地假设 GetElementByIdGetElementByName 相同。

关于JavaScript : trouble passing value to alert from hidden tag or text,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/889042/

相关文章:

javascript - 将 NodeJS Promise 与 MySQL 结合使用

javascript - 在 CKEditor 中设置字体大小和字体系列

javascript - 从具有相同类的字段中获取值,添加到数组

javascript - 如何从 Node.js 缓冲区 (UInt8Array) 显示 JPG 图像

javascript - 使用动态键对嵌套的对象数组进行排序

javascript - 页面刷新后,Ajax POST 到 Flask 不起作用

java - 从 Javascript 调用 Java 的 Desktop.open 方法 - 访问被拒绝 java.awt.AWTPermission showWindowWithoutWarningBanner

javascript - 使用 HTML5 Canvas 绘图

javascript - 行为不当的正则表达式

javascript - 如何将一个下拉菜单中所选选项的属性添加到另一个下拉菜单?