Почему значение ключа структуры отображается дважды как «Отправить, Отправить» на странице действия формы? - PullRequest
2 голосов
/ 16 мая 2019

Когда я добавил валидацию формы с помощью validate.js, он подтвердил штраф и отобразил сообщение валидации.Но значение input type = "submit", отображаемое дважды в структуре страницы действий.

для Illustrate, у меня есть два файла .cfm, индекс.cfm имеет простую форму с проверкой, а actionview.cfm имеет,Когда я отправляю форму в submitHandler, дамп-структура, отображающая значение кнопки отправки, дважды.Другие поля формы отображаются нормально.

В коде проверки HTML и jQuery, в index.cfm

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery validation plug-in - main demo</title>
  <link rel="stylesheet" href="css/screen.css">
  <script src="../lib/jquery.js"></script>
  <script src="../dist/jquery.validate.js"></script>
  <script>

  $.validator.setDefaults({
    submitHandler: function() {
      form.submit();
    }
  });

  $(document).ready(function() {

    $("#commentForm").validate();
  });
  </script>
  <style>
  #commentForm {
    width: 500px;
  }
  #commentForm label {
    width: 250px;
  }
  #commentForm label.error, #commentForm input.submit {
    margin-left: 253px;
  }

  </style>
</head>
<body>
  <div id="main">
    <h1 id="banner"><a href="https://jqueryvalidation.org/">jQuery Validation Plugin</a> Demo</h1>
    <p>Default submitHandler is set to submitting the form</p>
    <form class="cmxform" id="commentForm" method="post" action="actionView.cfm">
      <fieldset>
        <legend>Please provide your name, email address (won't be published) and a comment</legend>
        <p>
          <label for="cname">Name (required, at least 2 characters)</label>
          <input id="cname" name="name" minlength="2" type="text" required>
        </p>
        <p>
          <label for="cemail">E-Mail (required)</label>
          <input id="cemail" type="email" name="email" required>
        </p>
        <p>
          <label for="curl">URL (optional)</label>
          <input id="curl" type="url" name="url">
        </p>
        <p>
          <label for="ccomment">Your comment (required)</label>
          <textarea id="ccomment" name="comment" required></textarea>
        </p>
        <p>
          <input class="submit" type="submit" name="submit" value="Submit">
        </p>
      </fieldset>
    </form>
  </div>
</body>
</html>

В actionView.cfm,

<cfdump var="#form#" />

здесьЯ дал скриншоты формы и структуры сброса:

Образец формы,

enter image description here

Структура сброса,

enter image description here

В выгруженной структуре значение кнопки «Отправить» равно «Отправить, отправить».Но обычно я отправляю форму с отображением «Отправить».Я не уверен, почему это происходит?

Я что-то пропустил?Я очень признателен, если кто-нибудь объяснит, почему он отображается дважды?

Заранее спасибо!

1 Ответ

0 голосов
/ 16 мая 2019

Это действительно комментарий, но он слишком длинный. Я просто запустил код без jqueryvalidate и получил это:

Screen shot of form and results

Предложение

Изменение

  <input class="submit" type="submit" name="submit" value="Submit">

К

  <button class="submit" type="submit" name="submit" value="">Submit</button>
...