gpt4 book ai didi

javascript - 使用 Javascript 从表单中获取 HTML 中的隐藏输入(名称中带有句点)

转载 作者:行者123 更新时间:2023-12-02 18:44:15 25 4
gpt4 key购买 nike

我有以下 HTML:

<body>
<form action="/test/interop/InteropServlet" method="post" id="formTester" name="formTester">
<input type="hidden" name="ApiName" value=""/>
<input type="hidden" name="test.userId" value="admin"/>
<input type="hidden" name="test.password" value="admin"/>
<input type="hidden" name="test.progId" value="CustomTester"/>
<input type="hidden" name="InteropApiData" value=""/>
<input type="hidden" name="TemplateData" value=""/>

我想使用 Javascript 来获取这些隐藏值并在单击按钮时设置它们。我有以下 JavaScript 方法:

function callAPI(myform) {
saveCookies();
myform.ApiName.value=document.getElementById("traceName").value;
myform.TemplateData.value=document.getElementById("templateXMLText").value;
myform.test.userId.value=document.getElementById("userIDText").value;
myform.test.password.value=document.getElementById("passwordText").value;
myform.action="http://"+document.getElementById("urlText").value + "/test/interop/InteropHttpServlet";
myform.submit();
}

这适用于名称中没有句点的隐藏输入(即 test.userId、test.password),因为我收到错误“错误:TypeError:myform.test 未定义”。我无法重命名这些隐藏输入,因为我不维护我调用的代码,并且变量必须如此命名。

有什么方法可以从表单中读取名称中带有句点的隐藏输入吗?

最佳答案

我认为更好的另一种选择是使用 querySelector() 来获取特定元素:

myform.querySelector('input[name="test.userId"]').value="whatever";

演示: http://jsfiddle.net/xjG6W/

出于视觉目的,在演示中我将 test.userId 更改为 type="text"。输入第二个文本框并单击按钮 - 它将更改第一个文本框的值(实际上,这是一个隐藏的输入)。

引用文献:

关于javascript - 使用 Javascript 从表单中获取 HTML 中的隐藏输入(名称中带有句点),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16567384/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com