[英]Parameter value not coming through on form submit
在我服務器的 doPost 頂部,我收集到達的參數名稱並遍歷它們以使用 request.getParameterValues(pName) 收集它們的值。 這已經過很好的測試,目前正在為我的新交易生成這個:
NodeID : []
function : [modify]
這告訴我正在發送參數“NodeID”,但沒有傳遞任何值。 我在表單提交之前添加了一個警報,以查看表單在開發人員的 DOM 顯示中的樣子,它看起來是這樣的:
<form id="modify" action="/BackToTech/server?function=modify" method="post">
<input name="NodeID" value="28" />
</form>
這是 javascript function 制作並提交表格。
function modify(nodeID) {
alert("node.id = " + nodeID);
var root = document.body;
var form = $('<FORM>')
.attr('action', "/BackToTech/server?function=modify")
.attr('method', "post")
.attr('id', "modify")
.appendTo(root);
$('<INPUT>')
.attr('name', 'NodeID')
.attr('value', nodeID)
.appendTo(form);
//alert('delay');
$('#modify').submit();
}
第一個警報報告 nodeID 為 28。
有什么錯誤會跳出來嗎? 我想我最近對刪除事務做了同樣的事情,並在用 ajax 調用代替它之前讓它工作,所以我對這種方法有信心。 我想我還不如包括我服務器的 doPost 的頂部:
Enumeration<String> pNames = request.getParameterNames();
ArrayList<String> parameterNames = new ArrayList<String>();
while(pNames.hasMoreElements())
parameterNames.add(pNames.nextElement());
Object[] orderedNames = parameterNames.toArray();
Arrays.sort(orderedNames); //.sort(parameterNames)
for(int i=0; i<orderedNames.length; i++) {
String pName = orderedNames[i].toString();
for(int v=0; v<(25-pName.length()); v++) {
System.out.print(' ');
}
System.out.println(pName + " : " + Arrays.asList(request.getParameterValues(pName)));
}
找到了。 在導航窗格中有一個我忘記的同名表單。 提交是在該交易的路徑上完成的,沒有人從隨附的 select 框中選擇 NodeID。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.