Как я могу передать переменную от нажатия кнопки в код JavaScript?

0

Этот код работает:

<script type="text/javascript">
function submit_form()
{
    if(confirm('My message here.'))
    {
        document.my_form_name.submit();
    }
}
</script>

<form action="index.php" method="post" name="my_form_name">

<input type="button" value="Skip" onclick="submit_form()">
<input name="submit" type="submit" value="Save and continue">

</form>

ОСНОВНЫЕ МОМЕНТЫ:

function submit_form()

документ. my_form_name.submit()

form action = "index.php" method = "post" name = " my_form_name "

input type = "button" value = "Skip" onclick = "submit_form() "


Это не работает (но я хочу):

<script type="text/javascript">
function submit_form(variable)
{
    if(confirm('My message here.'))
    {
        document.variable.submit();
    }
}
</script>

<form action="index.php" method="post" name="my_form_name">

<input type="button" value="Skip" onclick="submit_form('my_form_name')">
<input name="submit" type="submit" value="Save and continue">

</form>

ОСНОВНЫЕ МОМЕНТЫ:

function submit_form (переменная)

документ. переменная.submit()

form action = "index.php" method = "post" name = " my_form_name "

input type = "button" value = "Skip" onclick = "submit_form ('my_form_name') "


Я в порядке с PHP, но мне не хватает приличного знания JavaScript, поэтому, если кто-то может указать мне в правильном направлении, я был бы очень счастлив!

И зачем мне две кнопки? Ну, я хочу отобразить пропущенную кнопку слева от кнопки продолжения (сначала в потоке HTML), но я не хочу, чтобы это было действием по умолчанию, если форма отправлена нажатием клавиши ввода, поэтому я разрешаю пропустить "просто" кнопку (контролируется JavaScript для отправки), и только кнопка продолжения будет "реальной" кнопкой отправки...

Теги:
forms

2 ответа

2
Лучший ответ

Когда вы используете document.variable, он ищет что-то с именем variable. Если вы хотите, чтобы он искал значение переменной ('my_form_name'), используйте document[variable]:

if(confirm('My message here.'))
{
    document[variable].submit();
}
1

@Blex предоставил правильный ответ. Несмотря на то, что я не являюсь поклонником встроенного JS, следующее может сохранить некоторую типизацию и улучшить читаемость вашего кода:

HTML:

 <input type="button" value="Skip" onclick="submit_form(this)">
 <!-- use this instead of 'my_form_name' -->

JS:

 variable.form.submit(); //instead of document[variable].submit();
  • 0
    Хорошее улучшение!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню