博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在form上设定了defaultbutton属性之后,切换提交按钮的解决办法
阅读量:4568 次
发布时间:2019-06-08

本文共 2583 字,大约阅读时间需要 8 分钟。

      通常我们有些页面需要设置默认提交按钮。也可能碰到如下情况:在搜索框中输入搜索内容后,按回车搜索,但由于页面设置了默认按钮,而且默认按钮不是搜索按钮,此时使用如下脚本通常都会失败:
function
 textBoxOnKeyDown(event)
{
        
if(event.keyCode == 13)
        
{
            __doPostBack(
'Button2','');
        }
}
      而且使用如下脚本也会失败
function
 textBoxOnKeyDown(event)
{
        
if(event.keyCode == 13)
        
{
            WebForm_FireDefaultButton(event, 
'Button2'); //或在本行前加上return
        }
}
      WebForm_FireDefaultButton是asp.net2的脚本文件里提供的函数,定义如下:
function
 WebForm_FireDefaultButton(event, target) 
{
        
if (event.keyCode == 13 && !(event.srcElement && (event.srcElement.tagName.toLowerCase() == "textarea"))) {
        
var defaultButton = document.getElementById(target);
        
if (defaultButton && typeof(defaultButton.click) != "undefined"{
            defaultButton.click();
            event.cancelBubble 
= true;
            
if (event.stopPropagation) event.stopPropagation();
            
return false;
        }
    }
    
return true;
}
       而我测试能工作的脚本如下:
    
function
 textBoxOnKeyDown(event)
  
{
        
if(event.keyCode == 13)
        
{
            WebForm_FireDefaultButton(event, 
'Button2');
            __doPostBack(
'Button2','');
        }
    }
      在xp专业版,ie6上测试通过,完整的代码如下:
<%
@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication5._Default" 
%>
<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
<
html 
xmlns
="http://www.w3.org/1999/xhtml"
 
>
<
head 
runat
="server"
>
    
<
title
>
无标题页
</
title
>
    
<
script 
language
="javascript"
 type
="text/javascript"
>
    
function textBoxOnKeyDown(event)
    
{
        
if(event.keyCode == 13)
        
{
            WebForm_FireDefaultButton(event, 
'Button2');
            __doPostBack(
'Button2','');
        }
    }
    
</
script
>
    
</
head
>
<
body
>
    
<
form 
id
="form1"
 runat
="server"
 defaultbutton
="Button1"
>
    
<
div
>
        
<
asp:Button 
ID
="Button1"
 runat
="server"
 Text
="Button"
 OnClick
="Button1_Click"
 
/>
        
<
asp:TextBox 
ID
="TextBox1"
 runat
="server"
 onkeydown
='textBoxOnKeyDown(event)'
></
asp:TextBox
>
        
<
asp:Button 
ID
="Button2"
 runat
="server"
 Text
="Button"
 OnClick
="Button2_Click"
 
/>
    
</
div
>
    
</
form
>
</
body
>
</
html
>
       后台代码:
using
 System;
using
 System.Data;
using
 System.Configuration;
using
 System.Collections;
using
 System.Web;
using
 System.Web.Security;
using
 System.Web.UI;
using
 System.Web.UI.WebControls;
using
 System.Web.UI.WebControls.WebParts;
using
 System.Web.UI.HtmlControls;
namespace
 WebApplication5
{
    
public partial class _Default : System.Web.UI.Page
    
{
        
protected void Page_Load(object sender, EventArgs e)
        
{
        }
        
protected void Button1_Click(object sender, EventArgs e)
        
{
            
this.Response.Write("Button1_Click");
        }
        
protected void Button2_Click(object sender, EventArgs e)
        
{
            
this.Response.Write("Button2_Click");
        }
    }
}

转载于:https://www.cnblogs.com/ofei/archive/2008/04/04/1137280.html

你可能感兴趣的文章
第二十一章流 5 多种打开文件的方式 文件存在,文件不存在
查看>>
【转】在Win10家庭版中启用组策略
查看>>
git 生成 公钥
查看>>
luoguP4841 城市规划
查看>>
爬虫到底是什么?
查看>>
收藏基本Java项目开发的书
查看>>
getResource()和getResourceAsStream()以及路径问题
查看>>
00080_泛型
查看>>
Java Map 键值对排序 按key排序和按Value排序
查看>>
[笔面] Java IO和网络编程相关面试
查看>>
Hive默认数据库修改配置
查看>>
[转]基本Guava工具
查看>>
趁着没断网,赶快写总结
查看>>
Eclipse中取消按空格选中自动提示
查看>>
JAVA的Date类与Calendar类比较
查看>>
iOS开发拓展篇—音乐的播放
查看>>
Flink资料(1)-- Flink基础概念(Basic Concept)
查看>>
[BZOJ4012] [HNOI2015]开店
查看>>
iOS5新开发的API总述——WWDC 2011
查看>>
JavaScript 基础——使用js的三种方式,js中的变量,js中的输出语句,js中的运算符;js中的分支结构...
查看>>