我在控制台中收到一条错误消息" Uncaught ReferenceError:e未定义"我点击的按钮名称为" sendtxt"。我确定它有功能(e)
<script type="text/javascript">
$(document).ready(function() {
$('input[name="sendtxt"]').click(function(e) {
sendText();
});
});
/************ FUNCTIONS ******************/
function sendText() {
e.preventDefault();
var phonenum = $('input[name="phonenum"]').val();
var provider = $('select[name="provider"]').val();
$.ajax({
type: 'POST',
data: {
provider: provider,
phonenum: phonenum
},
url: 'send.php',
success: function(data) {
console.log('Success');
},
error: function(xhr, err) {
console.log("readyState: " + xhr.readyState + "\nstatus: " + xhr.status);
console.log("responseText: " + xhr.responseText);
}
});
};
答案 0 :(得分:0)
你没有传递e
。
$(document).ready(function() {
$('input[name="sendtxt"]').click(function(e) {
sendText(e); // <<<
});
});
/************ FUNCTIONS ******************/
function sendText(e) { // <<<
e.preventDefault();
}
但实际上,这更容易写成:
$(function() {
$('input[name="sendtxt"]').click(sendText);
});
/************ FUNCTIONS ******************/
function sendText(e) {
e.preventDefault();
}
jQuery事件处理程序需要一个函数,而sendText
是一个函数。无需将其包装在另一个函数中。