javascript - 无法获取文本字段的值

标签 javascript jquery html ajax jsp

我正在尝试使用 JQuery 在 JSP 中编写代码来获取信用卡信息并将其传递给 servlet 来处理它。以下是我的代码。

<!DOCTYPE html>
<html>
<head>
<script
    src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">

</script>
<script>
    function dataValidation() {
        var cHolderName = $("#cardHolderName").val();
        var cCardNumber = $("#creditCardNumber").val();
        var eDate = $("#expirationDate").val();
        alert($("#cardHolderName").val());
        $.post("../CreditCard/CreditCardEvaluation", {
            cardHolderName : cHolderName,
            creditCardNumber : cCardNumber,
            expirationDate : eDate
        }, function(data, status) {

            if (data == 0) {
                alert("Invaid card data.");
            }

            if (data == 1) {

                $("result").text("Your order is placed.")
            }
        });
    }
</script>

</head>
<body>
    <form>
        Name of Card Holder:<input type="text" name="cardHolderName" value="Zahra"><br> 
        Credit Card Number:<input type="text" name="creditCardNumber" value="1-2-3-4"><br>
        Expiration Date:<input type="text" name="expirationDate" value="1/2/3">
        <input type="submit" onclick="dataValidation()"><br>
        <p id="result">
    </form>
</body>
</html>

在 dataValidation 函数中,我尝试显示持卡人姓名,但它为空,并且显示“未定义”消息。有谁知道原因是什么吗?

最佳答案

在:

var cHolderName = $("#cardHolderName").val();
var cCardNumber = $("#creditCardNumber").val();
var eDate = $("#expirationDate").val();

您正在使用 ID 选择器。因此,将 name 属性更改为 ids:

<form>
    Name of Card Holder:<input type="text" id="cardHolderName" value="Zahra"><br> 
    Credit Card Number:<input type="text" id="creditCardNumber" value="1-2-3-4"><br>
    Expiration Date:<input type="text" id="expirationDate" value="1/2/3">

    <input type="submit" onclick="dataValidation()"><br>
    <p id="result">
</form>
<小时/>

或者,您可以保留 name 属性并更改选择器:

var cHolderName = $("[name='cardHolderName']").val();
var cCardNumber = $("[name='creditCardNumber']").val();
var eDate = $("[name='expirationDate']").val();

但我建议使用第一种方法(更改为 id)。

关于javascript - 无法获取文本字段的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49594443/

相关文章:

javascript - 为什么包含 $(从字符串构建)的正则表达式不起作用?

javascript - JQuery 使用 .on() 添加对象函数

php - 不会更新数据库中的记录

html - 文本超出html中的圆圈边界

jquery 幻灯片不会循环播放不止一次

javascript - 在 <a> 标签中禁用 href

javascript - 谷歌地图插入

javascript - 创建 onclick 图像覆盖

javascript - 谷歌条形图动画

Jquery on drop 删除助手