Javascript 切换值后自动提交

Javascript 切换值后自动提交,javascript,php,jquery,Javascript,Php,Jquery,我想在切换值后自动提交代码如下所示 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

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

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>
<?php if(isset($_POST['foo'])){echo $_POST['foo'];} ?>

利维坦
var btn=document.getElementById('btn');
btn.addEventListener('click',函数(事件){
document.getElementById('ipt').value=event.target.value;
document.getElementById('form1').submit();},false);
foo.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>
<?php if(isset($_POST['foo'])){echo $_POST['foo'];} ?>

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


如何做到这一点?

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

替换

文档getElementById('form1')。提交()

document.getElementById('form1').submit()


“.”在您的代码中缺失

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

替换

文档getElementById('form1')。提交()

document.getElementById('form1').submit()


您的代码中缺少“.”

请尝试以下代码。单击按钮时,我将提交表单,并将值传递给
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>

利维坦
函数提交表单()
{
$(“#表格1”).submit();
}

它将把
Leviathan
的值传递给
foo.php

尝试下面的代码我将在点击按钮时提交表单,并将值传递给
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>
<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>

利维坦
函数提交表单()
{
$(“#表格1”).submit();
}
它将把
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>
利维坦 var form=document.querySelector('.test form'); 表单.addEventListener('submit',函数(ev){ var buttonValue=form.querySelector('.submit btn').value; form.querySelector(“#ipt”).value=buttonValue; });
“提交表单时,将“提交”按钮的值设置为#ipt输入的值。”

另外,您的php脚本应该执行
$\u POST['ipt']


利维坦
var form=document.querySelector('.test form');
表单.addEventListener('submit',函数(ev){
var buttonValue=form.querySelector('.submit btn').value;
form.querySelector(“#ipt”).value=buttonValue;
});
“提交表单时,将“提交”按钮的值设置为#ipt输入的值。”


当您使用
jQuery
时,您的php脚本也应该执行
$\u POST['ipt']

。。。我建议使用它,它会更简单

Index.php

$('.btn_值')。在('单击',函数()上){
$('#ipt').val($(this.val());
$('表格1')。提交();
});
foo.php
当您使用
jQuery
。。。我建议使用它,它会更简单

Index.php

$('.btn_值')。在('单击',函数()上){
$('#ipt').val($(this.val());
$('表格1')。提交();
});
foo.php



我不知道你想说什么,但你一定要把submit按钮放在表单中,否则用键盘提交将无法处理上面的代码,当button元素被单击时,它会将值切换为input元素值,然后提交。但它不会将任何值传递给foo.php。我不知道你想说什么,但你一定要将submit按钮放在表单中,否则用键盘提交将无法处理上面的代码。当button元素被单击时,它会将值切换为input元素值,然后提交它。但是它没有向foo.php传递任何值。好吧,我现在试着让它工作正常,当我点击“Leviathan”按钮时,它正在将“Leviathan”值发布到下一页foo.php,这就是你想要的吗?是吗?我已经检查了index.php。它有双重形式,使用id=“form1”,这就是它不传递值的方式。谢谢。好的,我现在试着让它工作的很好,当我点击“利维坦”按钮时,它将“利维坦”值发布到下一个页面foo.php,这就是你想要的吗?是吗?我已经检查了index.php。它有双重形式,使用id=“form1”,这就是它不传递值的方式。谢谢。在同一个
输入标记上有两个
名称
attr
?它不会将值传递给foo.php。我已经检查了index.php。它有双重形式,使用id=“form1”,这就是它不传递值的方式。谢谢。@jarwo现在尝试(它有两个name属性)在同一个
输入标记上有两个
name
attr
?它不会将值传递给foo.php。我已经检查了index.php。它有双重形式,使用id=“form1”,这就是它不传递值的方式。谢谢。@jarwo现在试试(它有两个name属性),它将把Leviathan(隐藏字段)的值传递给foo.phpi,并检查my index.php。它有双重形式,使用id=“form1”,这就是它不传递值的方式。谢谢。我已经测试了代码,它对我来说很好。传递id=“ipt”的值是的,但对小项目使用JQuery。这要花很多钱。谢谢,heheit会将Leviathan(隐藏字段)的值传递给foo.phpi,并检查my index.php。它有双重形式,使用id=“form1”,这就是它不传递值的方式。谢谢。我已经测试了代码,它对我来说很好。传递id=“ipt”的值是的,但对小项目使用JQuery。这要花很多钱。谢谢你,hehei检查了我的index.php。它有双重形式,使用id=“form1”,这就是它不传递值的方式。谢谢,很高兴你解决了。(附言:没有必要告诉我们每个人同样的事情,你可以编辑你的问题并添加新的信息。无论如何谢谢你的麻烦)我已经检查了我的index.php。它有双重形式,使用id=“form1”,这就是它不传递值的方式。谢谢,很高兴你解决了。(附言:不需要告诉我们每个人同样的事情,你可以编辑你的问题并添加新的信息。谢谢你的打扰)