Jquery没有从表单字段中获取值

时间:2017-08-06 23:02:35

标签: javascript jquery html forms

我正在尝试使用Jquery在click事件之后操作表单字段中的值,但由于某种原因,我似乎无法从表单中获取任何内容,而我不这样做认为这是jQuery语法,因为我在程序的其他地方成功使用它。

HTML:

<form class="centered formula-form">
  <input type="text" id="project" name="project" placeholder="Name your project"  maxlength="20" required />
  <input type="text" id="description" name="description" placeholder="Give it a brief description"  maxlength="35" required /> <br /> <br />
  <input type="text" id="name" placeholder="Ingredient Name" required  />
  <input type="number" id="amount" placeholder="0" min="0" step="0.1" required />
  <input type="text" id="notes" placeholder="form, supplier, etc" />
  <input type="submit" value="Add Ingredient" class="pure-button" />
</form>

<table class="centered-block pure-table pure-table-striped formula-table">
  <thead class="thead-styled">
    <tr class="centered">
        <th>Ingredient</th>
        <th>Amount</th>
        <th>Notes</th>
        <th></th>
    </tr>
  </thead>
  <tbody class="formula-body">
  </tbody>
</table>
<button type="submit" value="Submit" class="pure-button pure-button-primary formula-submit" >Submit</button>

点击button class="formula-submit"后,我正在尝试保存表单值,如下所示:

JQuery的:

$('.formula-submit').click(function(){
  //declare variables
  var projectName = $('#project').val();
  var description = $('#description').val();
});

但这没效果。我也试过了:

$('input:text[name=project]').val()

但没有骰子。

据我所知,这些选择器应该可以工作,而对我来说更奇怪的是,在同一个文件中我使用AJAX约定进行了$('#project').val()调用,它运行得很好,所以我不确定我的代码结构是什么阻止我获取这些值。

我已经完成了console.log以验证jQuery实际上是在记录点击事件。它是。

1 个答案:

答案 0 :(得分:0)

好的,我意识到它是什么。

我的答案中的代码没有错。问题是我在另一个文件中引用相同的表单值,并在将数据传递到由同一事件触发的AJAX调用后清空表单字段。

该文件列在此问题的代码上方,因此首先执行该文件,因此当我尝试将值存储在表单字段中时,它们已被删除。