0

当用户在文本框(绿色矩形)中输入至少一个字符时,我试图在 div 标签(红色矩形)中向下滑动内容。

如果未输入任何字符,则不会显示 div 内容。

这是aspx(设计)的图片:

在此处输入图像描述

这是我用来尝试实现这一目标的 JavaScript:

function() {
    $("#SubmitSection").hide();
    inputOne = document.getElementById("<%= TextBox1.ClientID %>");
    if (inputOne.value != "") {
        $("#SubmitSection").slideDown('slow');
    }
    else {
        $("#SubmitSection").slideUp('slow');
    }
}​

所有后端代码都可以正常工作,但部署时会显示文本框和 div 部分。

4

3 回答 3

2

如果我说对了:

$("<%= TextBox1.ClientID %>").change(function(){YoursSlidingFunctionhere();})

。改变()

于 2012-08-08T17:22:20.890 回答
1

您必须连接到文本框上的事件。该 onchange事件仅在文本框失去焦点后触发,因此我建议该onkeyup事件。

<asp:TextBox ID="TextBox1" runat="server" [...] onkeyup="updateSubmitSection()" />

您必须命名您的函数,以便您可以调用它:

updateSubmitSection = function() {
   $("#SubmitSection").hide();
  inputOne = document.getElementById("<%= TextBox1.ClientID %>");
  // ...
}

除此之外,您还需要在onload页面事件期间调用该函数:

<body onload='updateSubmitSection()'>

使用 jQuery 的相同解决方案:

$(document).ready(function() {
    updateSubmitSection();
    $('#<%= TextBox1.ClientID %>').change(updateSubmitQuery);
}
于 2012-08-08T17:24:31.200 回答
0

您需要将此添加到在初始化时执行的 javascript 部分:

`$("#SubmitSection").hide();`

您可以使用 body onload 属性:

`<body onload="init()">
<script>
function init()
{
$("#SubmitSection").hide();
}
</script> `
于 2012-08-08T17:24:57.177 回答