jquery parseInt没有给出实际值,在JavaScript中总是给出0

cu6pst1q  于 2024-01-07  发布在  jQuery
关注(0)|答案(3)|浏览(159)

我有input类型,它是span。我想在两个文本之间进行计算。所以我试着像下面这样实现。但警报总是0

  1. function ValidateFormFTTX(ApproveRejectSave) {
  2. var acceptedUG = parseInt($('#FEUGLEG_txtReadOnlyAccepted').text());
  3. var TotalUG = parseInt($('#FEUGLEG_txtReadOnly').text());
  4. var offerUG = parseInt($('#FEUGLEG_txt').val());
  5. alert(offerUG);
  6. var calculatedUG = (parseFloat(TotalUG) + parseFloat(offerUG).toFixed(4));
  7. }

个字符

j0pj023g

j0pj023g1#

你可以使用数字字段代替文本字段。还有,你从来没有调用过你的ValidateFormFTTX函数。

**注意:**我添加了一个jQuery debounce插件来限制输入时调用验证的次数。

  1. $('#FEUGLEG_txt').on('input', $.debounce(250, (e) => {
  2. ValidateFormFTTX(null);
  3. }));
  4. function ValidateFormFTTX(ApproveRejectSave) {
  5. // Unused
  6. const acceptedUG = parseFloat($('#FEUGLEG_txtReadOnlyAccepted').text());
  7. const totalUG = parseFloat($('#FEUGLEG_txtReadOnly').text());
  8. const offerUG = $('#FEUGLEG_txt').get(0).valueAsNumber;
  9. const calculatedUG = (totalUG + offerUG).toFixed(4);
  10. console.log(calculatedUG);
  11. }

个字符

展开查看全部
9fkzdhlc

9fkzdhlc2#

您没有执行ValidateFormFTTX,只是执行您没有提供的函数isNumberKey
我建议不要使用内联事件处理程序。
还有你把toFixed放错了地方
或者在现场使用type="number"
下面是工作代码

  1. function ValidateFormFTTX(event) {
  2. let acceptedUG = $('#FEUGLEG_txtReadOnlyAccepted').text();
  3. let TotalUG = $('#FEUGLEG_txtReadOnly').text();
  4. let offerUG = $('#FEUGLEG_txt').val();
  5. alert(offerUG);
  6. var calculatedUG = (parseFloat(TotalUG) + parseFloat(offerUG)).toFixed(4); // the toFixed needs to be after the sum
  7. if (offerUG === 0) {
  8. alert('Please enter an offer')
  9. event.preventDefault(); // stop submission
  10. return;
  11. }
  12. // do whatever
  13. alert(calculatedUG);
  14. }
  15. $(function() { // on page load
  16. $("#approvalForm").on("submit", ValidateFormFTTX);
  17. $('#FEUGLEG_txt').on("input", function() {
  18. // Replace any non-digit character with an empty string
  19. this.value = this.value.replace(/[^0-9]/g, '');
  20. });
  21. })

个字符

展开查看全部
r1wp621o

r1wp621o3#

确保在DOM完全加载后执行此脚本。您可以将代码 Package 在文档就绪函数中,如下所示:

  1. $(document).ready(function() {
  2. // Your code`enter code here`
  3. });

字符串

相关问题