关于textbox赋值的问题

来源:互联网  时间:2016/5/18 16:00:52

关于网友提出的“关于textbox赋值的问题”问题疑问,本网通过在网上对“关于textbox赋值的问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题:关于textbox赋值的问题
描述:

在textbox1中输入值后,按回车键调用js方法,通过textbox1的值查询结果并赋值给textbox2,这里也用到了ajax技术,值也可以赋到textbox2上,但接着页面就刷新了一下,然后textbox2上的值就掉了。请问如何解决这个问题呀?

代码如下:

textbox1:<asp:TextBox ID="txtBf_org_vendee_id" runat="server" onkeydown="textEnter(this)">asp:TextBox>

 textbox2:<asp:TextBox ID="txtBf_org_vendee_name" runat="server">asp:TextBox> 

js代码如下:


function textEnter(obj){  

 var ent = obj;  

 if (event.keyCode ==13) {  

  $.ajax({  

url: 'GetNameByCode.aspx?code='+ ent.value,  

type: 'post',  

success: function (date) {  

if (date !=-1) {  

document.getElementById('<%=txtBf_org_vendee_name.ClientID %>').value = date;  

}  

}  

});  

}  

}


解决方案1:

//如果提供了事件对象,则这是一个非IE浏览器 if ( event && event.preventDefault )
//阻止默认浏览器动作(W3C) event.preventDefault();
else//IE中阻止函数器默认动作的方式 window.event.returnValue =false;
returnfalse;

1.取消按键的默认行为(也就是提交)

2.取消 表单 submit提交事件

document.getElementsByTagName('form')[0].submit=function(){returnfalse;}

解决方案2:

如果你的页面上存在按钮的话可能会出现你说的这个现象。

首先你捕捉了enter事件。但是在处理完成后要return false;

否则可能会出现“enter”触发 服务端按钮 提交事件的情况。

解决方法:1、将按钮属性设置不是默认提交按钮。2、捕捉13后 增加 return false

解决方案3:

你这个textbox是服务器控件,本来就postback一次了。。。。。

解决方案4:

url: 'GetNameByCode.aspx?code='+ ent.value,;

你这个是先PostBack 了, 再赋值给文本框,当然值会清除掉了。如果你是要在客户端用JS 实现两个文本框内容的同步的话,就不能用 $.ajax(

解决方案5:

你这不是异步的吗,怎么会刷新,反正你也是ajax,把那两个服务器端控件改成input普通的。

页面没其它的了吧,回车是不是提交了。

上一篇下载的用JS编写的广告式焦点图代码压缩包解压后怎样正确插入到DW8制作的主页上呢?
下一篇(vue.js)下载vue-cli时,npm install -g vue-cli 提示无法将vue识别为cmdlet可运行程序的名称
明星图片
相关文章
《关于textbox赋值的问题》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)