我有一个按钮,它现在被设置为类型“提交”。这将调用控制器,执行一些代码并返回到视图。当我使用jquery隐藏按钮时,我发现当我单击按钮时,隐藏了按钮,但只要返回视图,按钮不会再隐藏。然而,对于类型“按钮”,当我点击按钮时,这隐藏了按钮,但不执行控制器中的代码。有没有办法隐藏类型“提交”按钮,所以当视图返回时,按钮仍然隐藏?类型提交和类型按钮
$('#btnAdd').click(function() {
$('#btnAdd').hide();
});
我有一个按钮,它现在被设置为类型“提交”。这将调用控制器,执行一些代码并返回到视图。当我使用jquery隐藏按钮时,我发现当我单击按钮时,隐藏了按钮,但只要返回视图,按钮不会再隐藏。然而,对于类型“按钮”,当我点击按钮时,这隐藏了按钮,但不执行控制器中的代码。有没有办法隐藏类型“提交”按钮,所以当视图返回时,按钮仍然隐藏?类型提交和类型按钮
$('#btnAdd').click(function() {
$('#btnAdd').hide();
});
<input type='submit'>
创建一个按钮,将一个表单提交给服务器并触发您的服务器代码。如果您希望在页面返回时隐藏该按钮,则需要在页面中添加逻辑来完成此操作。你如何做到这一点将取决于你的服务器技术(php,.net等)。
与<button>
行为不同的原因是<button>
s不提交表单(除非您添加更多代码以使它们做到这一点)...所以上述提到的东西永远不会发生。这不是一个<button>
保持隐藏尽可能多的页面永远不会改变/重新加载。如果您将代码添加到<button>
以使其刷新页面,它也会重新出现。
由于按下提交按钮后页面将被重新加载,该按钮将重新出现。一个快速和肮脏的得到你想要的是......
首先,创建一个隐藏字段
<input type="hidden" id="hidden" value="" />
然后,当你按下提交,在提交按钮,这样做click事件。 。
$('#submit').click(function() {
$('#hiddenField').val("1");
$('#form').submit();
return false;
});
在你的控制器
现在,使用的hiddenField的价值一些变量传递给它可以这样使用的视图...
<?php if($hidden == "1"): ?>
<input type="submit" id="submit" value="Submit" />
<?php endif; ?>
只要没有提交表单的按钮,它将不会提交表单,直到您自己在按钮的单击事件中提交表单。事情是这样的......
$('button').click(function() {
$('#form').submit();
});
当然,正如我所说,这是实现所需功能的快速和肮脏的方式,有更好的方法 - 使用AJAX,也可以实现根据什么服务器上更改你使用的语言(我在这里使用了PHP)。
@ ShiVik - 你可以告诉我C#吗? – hersh 2010-09-03 12:55:06
显示按钮是因为该页面在提交表单后新显示。你的“旧”页面,点击并隐藏按钮是历史记录。
你想要什么?
按下一个按钮,做服务器端的东西,不改变当前的页:
使用类型按键的按键,使用了Ajax调用服务器端。 或者使用类型为submit的按钮,并在服务器端执行Pablo所说的http://en.wikipedia.org/wiki/Post/Redirect/Get。
按下一个按钮,做服务器端的东西,给用户反馈: 使用<form method="post"
来标记你的表格。使用提交按钮来调用服务器端。在服务器上隐藏提交按钮,如果它被方法post调用(调用带链接的页面或将其输入到地址字段中,则使用method = get调用它)。
类型提交和类型按钮有什么区别? 一个提交按钮没有javascript的作品发送一些输入到服务器端。周围的表单被发送到服务器,并在浏览器中呈现响应。 一个按钮按钮需要一个javascript onclick处理函数,一个javascript函数。当用户按下按钮时,会调用onclick处理程序。
当您的表单被提交并且您的控制器处理数据时,如果符合某些条件,您可以在服务器端代码中设置临时会话变量或cookie。所以,基本上页面会在每次页面加载时检查这个变量。例如,在PHP:
if(empty($_SESSION['temp']['hideSubmitButton'])) {
$submitButton = '<button type="submit">Normal Button</button>';
} else {
$submitButton = '<button type="submit" disabled="disabled">Disabled Button</button>';
// or $submitButton = '';
}
但你必须决定何时取消设置()的$ _SESSION [ '临时']或$ _COOKIE [ '临时']变量。
似乎你正在返回一个网页作为表单提交的回应。不要这样做。使用PRG(http://en.wikipedia.org/wiki/Post/Redirect/Get)避免表单重新提交 – 2010-09-03 03:00:59