我正在尝试使用 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
属性更改为 id
s:
<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/