gpt4 book ai didi

Javascript 调用在文本框更改时具有旧值

转载 作者:行者123 更新时间:2023-11-28 04:20:52 24 4
gpt4 key购买 nike

我有一种情况,我有两个并排的文本框,在第一个文本框上(在服务器端代码中)添加处理程序如下(注意,我必须在服务器端执行此操作,因为文本框是动态创建的) :

tb.TextChanged += new EventHandler(TextBox_Changed);

// Thickness checker
if (ThicknessCheckColumn != "")
{
tb.Attributes.Add("onchange", "CheckThickness(this,\'" + ThicknessCheckColumn.Replace(" ", "").Replace("_", "").Replace("-", "").ToUpper() + "\')");
}

现在,TextBox_Changed 事件写入数据库,并根据 Textbox1 中的条目和一些数据库设置设置 Textbox2 的值...

private void TextBox_Changed(object sender, EventArgs e)
{
{lots of check and database access code here}
TextBox2.Text = Result
}

JavaScript 检查复选框 1 的值,并产生警告、错误等。

一切正常,除了警告是针对 Textbox2 的先前值。

就好像服务器端事件中的代码在验证后运行,或者实际的文本框值在所有函数都得到解析之前不会更改。

这有什么原因吗?在服务器端事件完成所有操作后,是否有更好的方法来调用 javascript 验证?

Javascript函数如下:

function CheckThickness(textControl,checkcolumn) {
var id = textControl.id;
// Go get the check value
var checknumber = ""
$('form input[type="text"]').each(function () {
id.toString()
if (id == checkcolumn) {
checknumber = this.value;
}
})
// Do the compare
if (checknumber > 12)
{
alert("Proceed with caution!");
}
if (checknumber < lowerlimit) {
alert("LThis blade has not been coated with the recommended thickness,\nbut can still end up within the finished size tolerance.\n\nProceed with caution!");
}
}

更新 = 8 月 7 日...

接下来,我是否可以在文本框“textbox_changed”事件上调用服务器端事件,并从中获取状态,有条件地调用 JavaScript?这样我就可以在服务器端检查实际的真实数据?

类似(这里是伪代码)...

tb.TextChanged += new EventHandler('set retstatus = call TextBox_Changed; if retstatus = "Y"then call javascript_for_alert');

公共(public)子字符串TextBox_Changed(....){ ……巴拉巴拉…… if (我的条件== true) {返回“Y”}否则{返回“N”}}

否则,如何让 javascript 在当前值而不是旧值上运行???

最佳答案

您是对的:服务器端方法 TextBox_Changed 在 JavaScript 验证后被调用。

在单击将表单提交到服务器之前会触发客户端单击处理程序。在服务器端处理程序更改之前,客户端验证只能使用页面上显示的 Textbox2 的值。

关于Javascript 调用在文本框更改时具有旧值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45458264/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com