кнопка отправки не опубликована в Chrome - PullRequest
1 голос
/ 09 декабря 2011

У меня есть форма с двумя кнопками отправки. основываясь на нажатой кнопке, я должен обработать значения на странице поста. поэтому я установил значение для атрибута действия по нажатию кнопки.

В Firefox он публикует поля формы и кнопку отправки. но в Chrome он публикует только поля формы, а не кнопку. Вот код, который я использовал:

<code><html>
<script src='jquery-1.6.2.min.js'></script>
<script type="text/javascript">
$(document).ready(function(){
    $('#one,#two').click(function(){
     $("#myform").attr("action", "index.php");
        $("#myform").submit();
    });


});
</script>
<?php
echo "<pre>";print_r($_POST);echo "
"; ?>

На выходе Firefox после этого:

Array
(
    [iint] => hiox
    [one] => hiox
)  

А в chrome14 [версия для Linux]

Array
(
    [iint] => hiox
)

Мне нужно проверить, какая кнопка нажимается. Любая помощь, высоко ценится. Thanksl!

Ответы [ 3 ]

3 голосов
/ 09 декабря 2011

попробуйте смоделировать нажатие кнопки с помощью функции $('#buttonelement').click(); вместо использования submit();

Ах, а поскольку click(); - это стандартная функция javascript, возможно, вам нужно использовать GetDocumentByID вместо #id jquery selector.

$('#ElementClickedThatCallOne').click(function(){
 $("#myform").attr("action", "index.php");
    document.GetDocumentByID('one').click();
});

$('#ElementClickedThatCallTwo').click(function(){
 $("#myform").attr("action", "index.php");
    document.GetDocumentByID('two').click();
});
1 голос
/ 09 декабря 2011

в качестве дополнения к комментарию, который я добавил:

затем (у вас есть еще одно действие), потому что в посте у вас будет только кнопка, которая отправляет форму ... но вы отправляете ее с помощью JavaScript

в ff это работает, потому что javascript запускается после кнопки отправки (я полагаю) ..

вы должны рассмотреть возможность приближения к другому решению, например:), при нажатии установите значение для скрытого ввода, который можно использовать в php .. значение для этого скрытого ввода будет всегда доступно, но будет меняться в зависимости от нажатия кнопки

, ваша форма станет чем-токак

<code><html>
<script src='jquery.js'></script>
<script type="text/javascript">
$(document).ready(function(){
    $('#one,#two').click(function(){
        $("#myform").attr("action", "index.php");
        $("#who_submitted_the_form").attr('value',this.id);
        $("#myform").submit();
    });
});
</script>
<?php
echo "<pre>";print_r($_POST);echo "
";?>
0 голосов
/ 19 декабря 2011

Это связано с тем, что кнопка отправки включается в отправку формы только при нажатии указанной кнопки отправки.

, поскольку вы не отправляете форму с помощью традиционной кнопки input="submit", значение не включается.

Вы можете использовать этот метод до form.submit().вызовите кнопку отправки с функцией щелчка.поэтому он традиционно вызывает кнопку отправки.

document.form name.submit button name.click();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...