同样,非常新的编程,并开始jquery和ajax。我已经能够使用jQuery而没有太多问题,但现在我想基于用户输入扩展到ajax到forumate API调用。在下面的代码片段中,我已经粘贴了表单提交的jquery处理程序部分。如果我在jquery函数(.val())中控制各种输入,我会看到值。如果我尝试在函数中创建一个值,并将其设置为输入的.val(),我将得到未定义。我陷入了什么愚蠢行为?
jquery的部分:
$(document).ready(function(){
$("#user_in").submit(function() {
var city=$(city).val();
var state=$(state).val();
var year=$(year).val();
var month=$(month).val();
var day=$(day).val();
console.log(city); //returns undefined
console.log($(city).val()); //returns the form submission
<div id="form_div">
<form id="user_in" action="index.html" method="post">
<p>Please enter your city name:</p><input type="text" name="city" id="city"><br>
<p>Please enter your two letter state:</p><input type="text" name="state" id="state"><br>
<p>Please enter the year of history (YYYY):</p><input type="text" name="year" id="year"><br>
<p>Please enter the month (MM ):</p><input type="text" name="month" id="month"><br>
<p>Please enter the day (DD):</p><input type="text" name="day" id="day"><br>
<input type="submit" value="Submit">
</form>
</div>
答案 0 :(得分:2)
现在我不知道你的HTML是怎么样的,但我建议你看看你的元素以及id或class。
如果城市,州,年,月和日是元素的ID,则代码应如下所示:
db2
如果名称是类,则将#更改为。在每个jQuery调用中。
答案 1 :(得分:2)
根据您的input
元素,您可以通过此
var city = $('#city').val();
这基本上意味着您通过input
属性获得id
值。
或者您也可以这样做:
var city = $('input[name="city"]').val();
这基本上意味着您通过input
属性获取name
值
答案 2 :(得分:1)
由于您已经共享了HTML
,请尝试相应:
$(document).ready(function(){
$("form").submit(function() {
var city=$("#city").val();
var state=$("#state").val();
var year=$("#year").val();
var month=$("#month").val();
var day=$("#day").val();
console.log(city); //returns undefined
我强烈建议您阅读有关jQuery Selectors
的此页面