首页 > 解决方案 > 提示功能不接受仅包含数字的输入

问题描述

我添加了确认对话框以再次输入我在提交之前获得的状态。

那个公园有效。问题是这个prompt()函数除了输入数字之外没有吗?

无论如何我可以添加那部分以便它可以通过吗?

$(".delete-status").click(function (ev, el) {

    var status = $(this).data("status");
    var statusInput = prompt("Confirm deletion by entering the status:");

    if (statusInput === status) {

        statusDelete(status);
    } else if (statusInput === null || statusInput === "") {

        alert("Field should not be empty!");
    } else {

        alert("Entered status and status don't match!");
    }
});

知道如何修复代码吗?我对 jQuery 和 JS 很陌生。谢谢

我想涵盖这两种情况。带字符串和带数字。

标签: javascriptjqueryintegerprompt

解决方案


如果可以, jQuery 的.data()方法会自动将数据解析为 JSON,因此如果它看起来是数字,它将返回一个数字,而不是字符串。

prompt()总是返回一个字符串(或者null如果你取消)。

因此,如果要将它们status与. 您可以使用将用户输入转换为整数。statusInput===parseInt()

$(".delete-status").click(function(ev, el) {

  var status = $(this).data("status");
  var statusInput = parseInt(prompt("Confirm deletion by entering the status:"));

  if (statusInput === status) {

    statusDelete(status);
  } else if (statusInput === null || statusInput === "") {

    alert("Field should not be empty!");
  } else {

    alert("Entered status and status don't match!");
  }
});


推荐阅读