在加载页面时检查文本框是否从默认值更改值

我在页面上有两个表单。

第一个有几个数量文本框,在页面加载时填充各自的默认值,这显然可以改变。 此外,页面上可能还有1,2,3或更多这些文本框,因此脚本必须考虑到这一点。 每个文本框的顺序名称为“Quantity1,Quantity2等”,id也是相同的。

我想要做的是检查是否有任何这些已经从其默认值更改,并且当在第二个表单中单击任一按钮时,它是执行第一个表单的按钮而不是第二个表单的按钮操作。

现在,如果任何输入文本框中没有任何更改,则第二个表单的按钮可以而且应该正常运行。 这是可能的,如果是这样的话,首选jquery方法?

注意:我在这里删除了很多不必要的代码,所以只显示了相关的东西。

这是一个表单,当单击其中的任一按钮并且上述表单中的任何输入框已更改为执行第一个表单按钮操作时。

   

我试一试:

 $(function(){ $("[id^='Quantity']").each(function(){ $(this).data('default', $(this).val()); }); $("[name='Proceed_To_Checkout_Form']").submit(function(){ var hasChanged = false; $("[id^='Quantity']").each(function(){ if($(this).val() != $(this).data('default')){ hasChanged = true; } }); if(hasChanged){ $("#btnRecalculate").click(); return false; } }); }); 

在页面加载时,您可以将字段的当前值(这些是我假设的默认值)存储到本地js变量中 – 很可能是一个数组,以处理可能有1,2或3个值的事实存储。 一旦存储了这些默认值,其余的应该相对容易:

在Form2上单击按钮时,其实现会将相关字段的当前值与其默认值(加载页面时存储的值)进行比较。 如果它们是相同的,请进行正常处理。 如果它们不同,请执行您需要的“例外情况”处理。

希望我能正确理解你的问题,这种方法可以让你走上正轨。 如果你需要我把一些代码示例/片段放在一起,我会密切关注这个post。