【问题标题】:How to preselect a value in Listbox at page load?如何在页面加载时预先选择列表框中的值?
【发布时间】:2014-02-22 04:53:47
【问题描述】:

我有这个简化的self.jsp 表单:

<form name="count" action="self.jsp">
    <input type="text" name="data1" id="data1" maxlength="50"/>
    <input type="text" name="data2" id="data2" maxlength="50"/>
    <input type="text" name="data3" id="data3" maxlength="50"/>
    <button id="recalc" type="submit" value="recalc">Recalculate</button>
    <button id="save" type="submit" value="save">Save to Database</button>
</form>

现在,我想在页面加载时使用 javascript 自动提交此表单。我想做一些预先填充的字段。这里的问题是我有多个按钮来“提交”表单。所以我不能使用要求表单提交自身的js(如document.getElementById("count").submit();),因为我无法知道按下了哪个按钮。但我似乎无法使用 javascript 使用代码document.getElementById("recalc").submit(); 来“推动”按钮。问题是:

  1. 如果我想“自动运行”“重新计算”按钮,javascript 代码是什么?
  2. 如果我想“自动运行”“保存”按钮,javascript 代码是什么?
  3. 我的 html 表单代码有错误吗?例如,一个表单不可能有两个“提交”按钮吗?或者是“按下”按钮,我不能使用submit()函数,而是另一个函数,例如click()也许?

我只是 javascript 的初学者。任何帮助,将不胜感激。谢谢。

更新:

我正在尝试在一个表单中设置两个按钮。重新计算按钮是使用信息 data1 和 data2 重新计算 data3 处的值。保存按钮是将data1、data2、data3全部保存到数据库。所有必需的 java 代码都放在表单之前。你可以看到表单引用了它自己。因此,如果按下重新计算,表单只会重新加载本身,但现在 data3 已预先填充。如果按下保存,表单会自行重新加载,但所有 data1、data2 和 data3 都会保存到数据库中。但我希望能够使用 javascript 按下按钮,但我不知道如何触发按钮点击。我只能使用 javascript 触发表单提交,因此问题是我不知道哪个按钮被按下或将被发送到表单本身。当然我可以使用 JSP 代码中的名称进行检查,但是如果我想对将接收表单数据的 JSP 说“按下的按钮是重新计算按钮”或“按下的按钮是保存按钮”怎么办?所以这就是为什么我需要单独触发按钮。还是不能?

【问题讨论】:

  • 不清楚您要做什么。两个按钮都是提交按钮,所以如果用户按下,两个按钮都会提交表单。如果你给按钮一个名字,那么用来提交表单的那个也将提交它的名字和值,没有被按下的那个不会。不清楚 recalc 按钮如何在不提交表单的情况下重新计算表单,也许您需要一个带有脚本的普通按钮 (&lt;button type="button"...&gt;) 来进行计算。
  • 我试图在一个表单上设置两个按钮。重新计算按钮是使用信息 data1 和 data2 重新计算 data3 处的值。保存按钮是将data1、data2、data3全部保存到数据库。所有必需的 java 代码都放在表单之前。你可以看到表单引用了它自己。因此,如果按下重新计算,表单只会重新加载本身,但现在 data3 已预先填充。如果按下保存,表单会自行重新加载,但所有 data1、data2 和 data3 都会保存到数据库中。

标签: javascript


【解决方案1】:

Q1 的 A:document.getElementById('recalc').click();

Q2 的 A:document.getElementById('save').click();

Q3 的 A:您可以在一个表单中有多个提交按钮,但您需要为这些提交按钮(名称/值对)添加“名称”属性,以便服务器端能够知道哪个按钮被按下.

希望对你有帮助

【讨论】:

  • 有效!我试图使用 trigger('click') 但后来意识到它是用于 jQuery 的。 Orang Indo juga rupanya 雅。 :D 感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-06
相关资源
最近更新 更多