Javascript 单击“提交”按钮时显示另一个DIV

Javascript 单击“提交”按钮时显示另一个DIV,javascript,jquery,html,css,Javascript,Jquery,Html,Css,这是我的剧本 HTML: 当我加载页面时,会显示DIV 1,因为属性设置为显示:'Block',但当我从下拉列表中执行选择时,在从下拉列表中选择计数并单击提交按钮时,它不会更改为DIV2 谁能帮我弄清楚这个问题,让我知道我做错了什么 谢谢在单击按钮时,您传递的是指向按钮本身的指针 将其更改为document.getElementById'type',因为您的selectHandler似乎需要select元素 另外,将按钮从submit更改为button,因为submit会告诉浏览器发出请求。快速

这是我的剧本

HTML:

当我加载页面时,会显示DIV 1,因为属性设置为显示:'Block',但当我从下拉列表中执行选择时,在从下拉列表中选择计数并单击提交按钮时,它不会更改为DIV2

谁能帮我弄清楚这个问题,让我知道我做错了什么


谢谢

在单击按钮时,您传递的是指向按钮本身的指针

将其更改为document.getElementById'type',因为您的selectHandler似乎需要select元素


另外,将按钮从submit更改为button,因为submit会告诉浏览器发出请求。

快速查看一下,您似乎已经检查了小写值“count”而不是“count”

i、 e.更换

select.value == 'count'

您的select.value输出提交,因为您的this元素引用了

->

为什么

SelectHandler这是由submit按钮触发的,而不是由标记触发的,因此当您执行select.value时,它会将submit作为文本返回

看到您的问题后,我想您需要获取select标记值

试试这个

function selectHandler(select) {
   // get your drop down list element i.e select tag
   var selected = document.getElementById('type');  
   if (selected.value === 'Count') {
      showlevel2();
   } 
   else if (selected.value === 'Top') {
      showlevel1();
   } 
}
看到你的评论后

问题在于使用type=submit 当你点击同一个页面时,它会发布到同一个页面。将其更改为type=button

js fiddle在这里

第一部分:

第二组:

并在函数中添加:

document.getElementById'first'。style.display='none';
document.getElementById'second'。style.display='block'

是的,谢谢你纠正,我的坏编辑仍然不起作用!:你是说像这样的事吗?我现在有一个JSP页面,我需要在其中一个div中显示请求avia submit按钮,并在其中一个div所需的submit按钮中显示响应。这就像,当我按下submit按钮时,它会显示另一个div,但即使在释放按钮后,也会坚持使用第一个div1。我想这是因为谢谢niko,但我需要使用submit按钮从servlet发出请求,然后向这些div返回响应。你知道我如何实现这一点,或者我是否可能使状态持久化或其他什么?谢谢niko,我也尝试过了,这就像当我提交时,我总是看到Div1,因为它刷新了,但是当我从浏览器的后退按钮返回时,它显示了DIV2?它确实让我显示了第二个div:但是无论执行提交按钮需要做什么,比如从servlet获取响应,它现在都不显示它我也解决了这个问题,我只需要在我的页面上进行onload和它工作的函数名:
select.value == 'count'
select.value == 'Count'
function selectHandler(select) {
   // get your drop down list element i.e select tag
   var selected = document.getElementById('type');  
   if (selected.value === 'Count') {
      showlevel2();
   } 
   else if (selected.value === 'Top') {
      showlevel1();
   } 
}
<input type='button' value='submit' onclick="selectHandler()">

function selectHandler() {
   // get your drop down list element i.e select tag
   var select = document.getElementById('type');  
   if (select.value === 'Count') {
      showlevel2();
   } 
   else if (select.value === 'Top') {
      showlevel1();
   } 
}
<input type='submit' value='submit' onclick="return selectHandler()">

function selectHandler() {
   var select = document.getElementById('type');  
   if (select.value === 'Count')
      showlevel2();
   else if (select.value === 'Top') 
      showlevel1();
   return false;
}