0

我正在对带有自定义皮肤的 Dot Net Nuke 网站进行一些更改。我发现皮肤文件的标头位于此处的“Default.aspx”中。

该表单有一些非常奇怪的行为。我不得不禁用回车按钮,因为在表单中按下会导致网页转到“/HOME.aspx”,但是该操作从未在 Default.aspx 中指定。

代码如下。

    <dnn:Form id="Form" runat="server" ENCTYPE="multipart/form-data" >
    <asp:Label ID="SkinError" runat="server" CssClass="NormalRed" Visible="False"></asp:Label>
    <asp:PlaceHolder ID="SkinPlaceHolder" runat="server" />
    <input id="ScrollTop" runat="server" name="ScrollTop" type="hidden" />
    <input id="__dnnVariable" runat="server" name="__dnnVariable" type="hidden" />
</dnn:Form>

处理后的表单在浏览器中显示为。

<form name="Form" method="post" action="/HOME.aspx" onsubmit="javascript:return WebForm_OnSubmit();" id="Form" enctype="multipart/form-data">

我希望代码简单地显示。

<form name="Form" method="get" action="/SearchResults.aspx"  id="Form">

我尝试直接使用 html 删除 dnn 代码,但删除 dnn 表单会导致网站崩溃。


编辑

我正在尝试做的可以在http://www.ontariosheep.org看到。 注意如果你按下按钮搜索工作,但按下回车会导致页面刷新。

4

2 回答 2

1

您可以使用一些 Javascript 来执行此操作:

jQuery('#SearchBox').keypress(function(e){
   if(e.which == 13){
       e.preventDefault();CallSearchPage('http://www.ontariosheep.org/SearchResults.aspx');
   }
});

你需要把它放在脚本标签和一个 jQuery 文档就绪区域......比如

<script> jQuery(document).ready(function(){

//code above here

}); </script>

于 2012-05-08T05:31:12.580 回答
0

在 DNN 中更改表单的行为并不是一件容易的事。DNN 使用 ASP.NET Web 窗体模型,因此页面的操作始终是当前页面。

如果你想自定义这个,唯一真正的方法是在特定页面上通过 JavaScript 修改表单操作,但请注意,在单击按钮或类似触发器之前这样做会破坏页面上需要回发到服务器。

你想达到什么目的?

于 2012-05-03T21:40:08.527 回答