Как очистить текстовое поле в JavaScript, который содержит значение редактирования строки gridview - PullRequest
2 голосов
/ 04 июля 2011

У меня есть следующие элементы управления ASP: текстовое поле, вид сетки, кнопка обновления и кнопка сброса.

Когда я нажимаю кнопку редактирования строки строки вида сетки, она заполняет соответствующее значениетекстовое поле.

Моя проблема заключается в том, что, когда я нажимаю на кнопку сброса, он не очищает значение текстового поля, полученное из строки таблицы просмотра.

Ответы [ 2 ]

2 голосов
/ 04 июля 2011
<script type="text/javascript">
    function clearTextBox() {
        document.getElementById('<%= txtTest.ClientID %>').value = "";
    }
</script>
<asp:TextBox ID="txtTest" runat="server" Text="blah blah blah" />
<input type="button" value="Clear" onclick="clearTextBox()" />

Это работает для меня ...

0 голосов
/ 04 июля 2011

ОБНОВЛЕНИЕ:

Удалите кнопку редактирования сетки по умолчанию (удалите ShowEditButton = "True" из CommandField) и добавьте кнопку ссылки внутри другого ItemTemplate .Также установите атрибут CommandName кнопки редактирования ссылки для редактирования и (это поможет кнопке редактирования работать в качестве редактирования сетки по умолчанию).Затем вызовите событие OnClientClick кнопки редактирования ссылки javascript и выполните там свою логику.Также поместите две другие кнопки ссылки для обновления и отмены , их следует поместить в атрибут EditItemTemplate и CommandName , для каждой из них должно быть установлено updateи отмените соответственно ..

См. код ниже, чтобы увидеть реализацию,

Раздел Aspx,

     <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnRowCancelingEdit="GridView1_RowCancelingEdit"
        OnRowUpdating="GridView1_RowUpdating" OnRowEditing="GridView1_RowEditing">
        <Columns>
            <asp:TemplateField>
                <ItemTemplate>
                    <%# Eval("sample1")%>
                </ItemTemplate>
                <EditItemTemplate>
                    <asp:TextBox ID="txtValue" runat="server"></asp:TextBox>
                </EditItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:LinkButton ID="lnkBtnEdit" runat="server" Text="Edit" CommandName="edit" OnClientClick="return ClearText(this.id)"></asp:LinkButton>
                </ItemTemplate>
                <EditItemTemplate>
                    <asp:LinkButton ID="lnkBtnUpdate" runat="server" Text="Update" CommandName="update"></asp:LinkButton>
                    &nbsp;
                    <asp:LinkButton ID="lnkBtnCancel" runat="server" Text="Cancel" CommandName="cancel"></asp:LinkButton>
                </EditItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

Раздел Java Script,

 <script language="javascript" type="text/javascript">
    function ClearText(btnID)
    { 
        var txtID=btnID.replace("lnkBtnEdit","txtValue");          
        var txtValue=document.getElementById(txtID);            

        alert(txtID);

        txtValue.value="";

        return true;
    }
</script>

код позади,

    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        GridView1.EditIndex = -1;
        populate();
    }

    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        //do update logic here
        GridView1.EditIndex = -1;
        populate();
    }

    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView1.EditIndex = e.NewEditIndex;
        populate();
    }

Надеюсь, это поможет вам ...

...