我有一个按钮,现在是设置为“提交”类型。这会调用控制器,执行一些代码,然后返回到视图。当我使用jquery隐藏按钮时,我看到当我单击按钮时,我拥有的内容会隐藏按钮,但一旦视图返回,按钮就不再隐藏。而对于" button“类型,当我单击按钮时,它会隐藏按钮,但不会执行控制器中的代码。有没有办法隐藏类型为"submit“的按钮,这样当视图返回时,该按钮仍然是隐藏的?
$('#btnAdd').click(function() {
$('#btnAdd').hide();
});发布于 2010-09-03 10:47:01
<input type='submit'>创建一个向服务器提交表单的按钮,并触发服务器代码。如果希望在页面返回时隐藏该按钮,则需要向页面添加逻辑才能做到这一点。如何做到这一点将取决于您的服务器技术(php、.net等)。
<button>的行为不同的原因是<button>不会提交表单(除非你添加更多的代码让他们这样做)...so上述的事情永远不会发生。与其说<button>是隐藏的,不如说页面永远不会改变/重新加载。如果您向<button>添加代码以使其刷新页面,它也会重新出现。
发布于 2010-09-03 15:15:28
显示该按钮是因为该页面是在提交表单后新显示的。你的“旧”页面,点击并隐藏按钮是历史记录。
你想要什么?
按下一个按钮,在服务器端做一些事情,不要改变你的当前页面
使用类型为button的按钮,使用ajax调用服务器端。或者使用类型为submit的按钮,然后在服务器端执行Pablo所说的http://en.wikipedia.org/wiki/Post/Redirect/Get。
按下一个按钮,在服务器端做一些事情,给用户反馈:使用<form method="post"标记你的表单。使用提交按钮调用服务器端。在服务器端,隐藏提交按钮,如果它是由方法post调用的(调用一个带链接的页面或在地址字段中输入它就是用method =get调用它)。
类型提交和类型按钮的区别是什么?提交按钮没有javascript就可以将一些输入发送到服务器端。将周围的表单发送到服务器,并在浏览器中呈现响应。按钮按钮需要一个javascript onclick处理程序,一个javascript函数。当用户按下按钮时,将调用onclick处理程序。
发布于 2010-09-03 10:48:08
由于页面将在按下submit按钮后重新加载,因此该按钮将重新出现。想要得到你想要的东西最快最下流的方法就是...
首先,创建一个隐藏字段
<input type="hidden" id="hidden" value="" />然后,当您按下submit时,在submit按钮的单击事件中,执行如下操作。
$('#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 )。
https://stackoverflow.com/questions/3632735
复制相似问题