Как сделать, чтобы вторая кнопка в моей форме не запускала код отправки после ее нажатия? - PullRequest
0 голосов
/ 20 августа 2010

У меня есть форма с кнопкой отправки:

<% form_for(@personalentry) do |f| %>
    <%= f.submit 'Create' %>
<% end %>

Вывод HTML

<form action="/personalentries" class="new_personalentry" id="new_personalentry" method="post">
    <input id="personalentry_submit" name="commit" type="submit" value="Create" />
</form>

Я хочу добавить вторую кнопку, чтобы сделать другой код, не связанный с отправкой формы. Итак, я сделал это:

<head>
    <script type="text/javascript">
        function addEndDateCalendar(){
            alert("test");
        }
    </script>
</head>
<body>
    <form action="/personalentries" class="new_personalentry" id="new_personalentry" method="post">
        <button name="addEndDateButton" onClick="addEndDateCalendar()">End date?</button>
        <input id="personalentry_submit" name="commit" type="submit" value="Create" />
    </form>
</body>

Когда я нажимаю кнопку, появляется предупреждение, но затем запускается код отправки. Как я могу заставить эту вторую кнопку не запускать код отправки после запуска собственного кода? Спасибо за чтение.

Ответы [ 2 ]

5 голосов
/ 20 августа 2010

Вместо этого можно попробовать type="button":

<input type="button" name="addEndDateButton" onClick="addEndDateCalendar()" value="End date?" />
0 голосов
/ 20 августа 2010

Если ваша функция addEndDateCalendar() возвращает false, то отправка не должна выполняться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...