JQueryUI进度条没有't通过表单提交更新后保持价值
JQueryUI Progress Bar doesn't maintain value after update via form submit
我正在尝试设置一个JQuery进度条,以便在用户提交表单时进行更新(最终的代码将更加复杂和动态,但我只是想先了解进度条是如何工作的)。
我尝试调试的简单代码是:
<body>
<form id="form1" method="GET" runat="server">
<div>
<h1>Test</h1>
<input type="submit" value="Start Test"/>
</div>
</form>
<div id="progressbar"></div>
<script type="text/javascript">
$("#progressbar").progressbar({
value: 25
});
$("#progressbar > div").css({ 'background': 'Green' });
$(document).ready(function () {
$("#form1").submit(function () {
$("#progressbar").progressbar({ value: 75 });
});
});
</script>
</body>
这只是一个简单的表单,它将进度条初始化为25%,并运行一个将值设置为75%的.submit函数。我知道提交代码被调用了,因为如果我重复单击提交按钮,我会在进度条中看到75%的值闪烁。
我的问题是:一旦值被.submit函数更改,我如何使其保持选中状态?
提前感谢!
更新:谢谢你的建议@charlietfl:-)整个帖子的新手:-)
以下是我的基于ajax的代码。。。
<body>
<form id="form1" method="GET" runat="server">
<div>
<h1>Test</h1>
<input type="submit" value="Start Test"/>
</div>
</form>
<div id="progressbar"></div>
<script type="text/javascript">
$("#progressbar").progressbar({
value: 25
});
$(document).ready(function () {
$("#form1").submit(function () {
$.ajax({
url: "JQueryProgressTest.aspx/GetProgress",
type: "GET",
success: function (data) {
$(".selector").progressbar({value: data});
}
});
});
});
</script>
</body>
仍未更新。。。再也看不到价值的闪光了。
谢谢!
Bob
最后更新:还需要添加一些JSON内容,以便从aspx页面进行回调。以下是其他需要它的人的完整工作代码:
ASPX代码背后:
public partial class JQueryProgressTest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
[WebMethod]
public static int GetProgress()
{
// Put any code to update the progress bar here
return 50;
}
}
以及aspx页面本身的正文:
<body>
<form id="form1" method="GET" runat="server">
<div>
<h1>Test</h1>
<input type="submit" value="Start Test"/>
</div>
</form>
<div id="progressbar" style="border-color: lightgreen;"></div>
<script type="text/javascript">
$("#progressbar").progressbar({
value: 25
});
$("#progressbar > div").css({ 'background': 'Green' });
$(document).ready(function () {
$("#form1").submit(function (event) {
event.preventDefault();
$.ajax({
type: "POST",
url: "JQueryProgressTest.aspx/GetProgress",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
$("#progressbar").progressbar({ value: response.d });
},
failure: function(response) {
alert("Error in calling Ajax:" + response.d);
}
});
});
});
</script>
</body>
再次感谢@charlietfl的帮助!
页面加载之间没有状态保存。当您提交表单时,它将根据表单操作重新加载页面。
一些选择是:
- 使用ajax提交表单,这样用户就不会离开页面
- 使用服务器代码中定义并传递给script标记的javascript变量来设置进度,根据提交与否调整变量
- 将状态存储在cookie或localStorage中,并根据存储的值设置值
相关文章:
- JQueryUI进度条没有't通过表单提交更新后保持价值
- 表单提交后用Javascript更新表-在IE&边
- AJAX-按钮提交以更新表单
- Safari在表单提交期间未更新UI
- 文件上传器表单提交事件调用面板以显示包含文件更新程序我想删除代码重写在 jquery 中使用循环重写所有文件类型
- 表单提交时的 HTML 输出更新
- 表单提交不会更新绑定到单选按钮的模型
- InfoVis SpaceTrees:在表单提交后更新节点信息
- Rails模式表单-在表单提交失败后,用html.erb文件中的内容更新弹出窗口
- 更新表单元素而不提交(Ajax+JS)
- 正在更新jqbootstrapvalidation-match以仅在表单提交时进行验证
- 表单提交时更新并保存画布
- 表单提交/更新按钮
- 我如何才能得到一个表单提交只有一次隐藏的值已经从谷歌地理编码服务更新
- 可以在填写表单时更新表单,而无需单击提交按钮
- AJAX jquery移动php表单提交不更新而不刷新
- 当我从编辑表单提交详细信息时,LocalStorage不更新
- 如何使表单提交更新的值时,它的部分视图在asp.net
- 更新表单值并停止提交
- Firefox的Javascript问题:表单提交时不更新状态