The following is a snippet of my JS:
$("#submit-email").click(function () {
var first_name = $("input[name='first_name']").val();
var last_name = $("input[name='last_name']").val();
var telephone_number = $("input[name='telephone_number']").val();
var email_address = $("input[name='email_address']").val();
var message = $("textarea[name='message']").val();
$.ajax({
url: route_send_email,
method: "POST",
data: {
first_name: first_name,
last_name: last_name,
telephone_number: telephone_number,
email_address: email_address,
message: message
},
success: function () {
$("input[name='first_name']").val("");
$("input[name='last_name']").val("");
$("input[name='telephone_number']").val("");
$("input[name='email_address']").val("");
$("input[name='message']").val("");
}
});
});
JSLint is giving the warning:
Unexpected ': first_name'.
Unexpected ': last_name'.
. . ... up to message.
What exactly is the error? The code works fine, but want to make JSLint happy.
The issue with the code is your data property is a JSON Object which the syntax is
{
"property": value
}
JSHint is picking up the fact that you dont have the " surrounding the property names.
your data
object should become:
data: {
"first_name": first_name,
"last_name": last_name,
"telephone_number": telephone_number,
"email_address": email_address,
"message": message
}
This Question explains in detail a better answer