繁体   English   中英

切换值后自动提交

[英]Auto-submit after switch value

我想在切换值后自动提交代码,如下所示。

的index.php

<form action="foo.php" method="post" id="form1">
<input type="hidden" id="ipt" value="" name="foo">
</form>

<button type="submit" id="btn" value="Leviathan">Leviathan</button>

    <script>

    var btn = document.getElementById('btn');

    btn.addEventListener('click', function(event){

    document.getElementById('ipt').value = event.target.value;
    document.getElementById('form1').submit();}, false);

    </script>

foo.php

<?php if(isset($_POST['foo'])){echo $_POST['foo'];} ?>

我想要的代码是将值从按钮切换为输入然后提交。 使用上面的代码,它会切换值,但不会向foo.php提交任何内容。

这个怎么做?

我在此代码中发现的唯一问题

更换

文档getElementById('form1')。submit();

的document.getElementById( 'form1中')提交();

“” 您的代码中缺少

尝试下面的代码,当单击按钮时我将提交表单并将值传递给foo.php

 <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <form action="foo.php" method="post" id="form1">
    <input type="hidden" id="ipt" value="asdasd" name="foo">
    </form>

    <button type="submit" id="btn" value="Leviathan" onclick="submit_form();">Leviathan</button>

        <script>

        function submit_form()
        {

             $("#form1").submit();
        }
 </script>

它将Leviathan的值传递给foo.php

<form class="test-form" action="foo.php" method="post" id="form1">
    <input type="hidden" id="ipt" name="ipt" value="" />
    <button type="submit" class="submit-btn" value="Leviathan">Leviathan</button>
</form>


<script>
    var form = document.querySelector('.test-form');

    form.addEventListener('submit', function(ev) {
        var buttonValue = form.querySelector('.submit-btn').value;
        form.querySelector('#ipt').value = buttonValue;
    });
</script>

“提交表单后,将提交按钮的值设置为#ipt输入的值。”

您的php脚本也应该执行$_POST['ipt']

当您使用jQuery ...我建议使用它,它将更加简单。

的index.php

<form action="foo.php" method="post" id="form1">
    <input type="hidden" id="ipt" value="" name="foo">
</form>

<input type="button" id="btn_01" class="btn_value" value="Leviathan 01" />
<input type="button" id="btn_02" class="btn_value" value="Leviathan 02" />
<input type="button" id="btn_03" class="btn_value" value="Leviathan 03" />

<script>
    $('.btn_value').on('click', function() {
        $('#ipt').val( $(this).val() );
        $('#form1').submit();
    });
</script>

foo.php

<?PHP
    if ( $_POST ) {
        var_dump($_POST);
    } else {
        echo 'nothing...';
    }
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM