0

ページに2つのフォーム送信があり、両方とも同じことをしています。

1 つはツールバー/ナビゲーション バーにあり、もう 1 つはメイン ページにあります。
私が抱えている問題は、ツールバーにフォームを追加すると、メインページのフォームが起動時に検索値を持たないことです。ツールバーのフォームをコメントアウトすると、メインページに値が含まれます。

//Toolbar submit
<form>
  <div class="input-append">
    <input type="text" class="span3" placeholder="Enter name" />
    <button type="submit" class="btn-u">Go</button>
   </div>
 </form>

// Main page submit
<form class="form-inline margin-bottom-5">
  <div class="input-append">
    <input type="text" class="input-xxlarge" placeholder="Enter class name">
    <button type="submit" class="btn-u">Go</button>
  </div>
</form>

//JavaScript/JQuery
$("form").submit(function (e) {

  var searchTerm = $("input:first").val();
  if (searchTerm === '') {
    // This part of the code is reached for the second submit,
    // I have tried using id on the submit but have the same result
  }
4

3 に答える 3

3

以下を変更します。ページで最初の入力を探しているときに、実際に送信されたフォーム内の最初の入力を探します。

var searchTerm = $("input:first").val();

var searchTerm = $(this).find("input:first").val();
于 2013-06-18T10:22:47.077 に答える
1

You are looking for var searchTerm = $("input:first").val();nothing は、送信されたフォームの最初の入力を探していることを示しています。ここでは、ページの最初のフォームの最初の入力を探しています。で置き換えますvar searchTerm = $(this).find("input:first").val();

編集:ほら、答えるのが遅すぎます...まあ、少なくとも解決策を確認します。

于 2013-06-18T10:27:12.987 に答える
1

「this」を使用して、送信するフォームの最初の入力を探していることを確認します。

$("form").submit(function (e) {

   var searchTerm = $(this).find("input:first").val();
   if (searchTerm === '') {
      // This part of the code is reached for the second submit,
      // I have tried using id on the submit but have the same result
   }
于 2013-06-18T10:28:01.240 に答える