将字段传递给javascript并计算
我有一个带有几个文本框的web表单。我想计算文本框中的默认值,当用户单击该字段时,我想将其清除。这有助于减少表单上的空间 下面给出了错误消息“Microsoft JScript运行时错误:需要对象” Javascript:将字段传递给javascript并计算,javascript,asp.net,Javascript,Asp.net,我有一个带有几个文本框的web表单。我想计算文本框中的默认值,当用户单击该字段时,我想将其清除。这有助于减少表单上的空间 下面给出了错误消息“Microsoft JScript运行时错误:需要对象” Javascript: function validateKeyword(f, flg, val) { switch (flg) { case 0: if (document.getElementById(f).value == val) { document.getElem
function validateKeyword(f, flg, val) {
switch (flg) {
case 0: if (document.getElementById(f).value == val) { document.getElementById(f).value = ''; } break;
case 1: if (document.getElementById(f).value == '') { document.getElementById(f).value = val; } break;
}
}
ASP.NET文本框:
<asp:TextBox maxlength="150" runat="server" name="First_Name" value="First Name" class="frmsel2" onfocus="javascript:validateKeyword('first_name',0,'First Name');" onblur="javascript: validateKeyword('first_name',1,'First Name');" alt="First Name" title="First Name" id="first_name"></asp:TextBox>
在javascript中使用
document.getElementById(<%= first_name.ClientID %>).value = ''
document.getElementById().value=''
如果您使用的是HTML5,我认为您可以使用占位符。
我最后把它放在了代码隐藏中的Page_Load事件中。(进行了编辑以使用常量值)
虽然事实上,我不知道你是否可以在ASP控件中实现这一点。目前不使用HTML5,但这是一个很好的参考。
public partial class _Default : System.Web.UI.Page
{
private const string FormDefaFirstName = "First Name";
private const string FormDefaLastName = "Last Name";
protected void Page_Load(object sender, EventArgs e)
{
first_name.Attributes.Add("onfocus", "javascript: if(this.value=='" + FormDefaFirstName + "') this.value='';");
first_name.Attributes.Add("onfocusout", "javascript: if(this.value=='') this.value='" + FormDefaFirstName + "';");
last_name.Attributes.Add("onfocus", "javascript: if(this.value=='" + FormDefaLastName + "') this.value='';");
last_name.Attributes.Add("onfocusout", "javascript: if(this.value=='') this.value='" + FormDefaLastName + "';");
if (!Page.IsPostBack)
{
first_name.Text = "First Name";
last_name.Text = "Last Name";
}
}