2016-07-28 49 views
0

我试图在提交表单时使用在文本字段中输入的值设置隐藏表单字段的值。更新来自textfield的值的隐藏表单字段

我已经尝试过将各种问题的答案结合起来,但最接近的是我得到了我的源字段的“id” - 但不是值。

文本字段名称= WPCF可用库存 隐藏字段名称= WPCF计股票

隐藏字段只需要设置为相同的值在表单中的文本字段使用jQuery提交?

我似乎

无法找到在问其他问题一个简单的示例...感谢

+1

'$(隐藏).VAL($(INPUT).VAL())'....你能分享可执行的演示/片段或[JSFiddle](https://jsfiddle.net/)吗? [_创建一个最小,完整和可验证的示例_](http://stackoverflow.com/help/mcve) – Rayon

+0

为什么你说,你需要设置提交?也许你想说,在提交之前和最后一次输入更改后,必须设置它。也许这种方式会变得更加清晰...... JS是基于事件的,所有事情都可能触发事件。我现在放松一下,想象在这个令人愉快的环境中“结合”意味着什么。 – Lemonade

回答

0

为了实现expeccted结果,使用下面 HTML:

<input type="hidden" name="wpcf-total-stock"> 
<input type="text" name="wpcf-available-stock" value="test"> 

JS:

$("input[name='wpcf-available-stock']").on('keyup',function(){ 
$("input[name='wpcf-total-stock']").val($(this).val()); 
alert($("input[name='wpcf-total-stock']").val()); 
}); 

Codepen- http://codepen.io/nagasai/pen/RRBwjA

+0

当使用任何建议 – Trist

+0

在您的html中添加Jquery库 - https://code.jquery.com/jquery-2.2.4.min时,出现'Uncaught TypeError:$不是函数'的错误。 js –

+0

我有jQuery包括,并使用jQuery的东西不同的相同的窗体上工作正常。我只是尝试添加到我的标题,但我收到了相同的消息: '<?php wp_enqueue_script(“jquery”); ?>' – Trist

0

首先:为什么你会从文本字段填写一个隐藏的表单字段,当你打算要送出?

二,jQuery的是这样的:

var fieldValue = $('#wpcf-available-stock').val(); 
$('#wpcf-total-stock').val(fieldValue); 

可以很明显的链一起,但是这是很干净。

这里有一个演示:https://jsfiddle.net/u5Lj8cLz/

+0

当用户提交表单以保存重复条目时,我将2个字段设置为相同的值(因为它们总是最初等于1)。 我收到此错误使用提供的代码: 未捕获TypeError:$是不是函数 – Trist

+0

那么,你必须包括jQuery(我认为你会有,从你原来的职位)。 无论如何,如果您最初都是彼此相等的,您总是可以检查服务器上的隐藏字段是否为空 - 然后使用“available”字段中的值。 –

+0

我有jQuery包含,并使用jQuery的东西不同的相同的窗体上工作正常。我只是尝试添加到我的标题,但我收到了相同的消息: '<?php wp_enqueue_script(“jquery”); ?> – Trist

0

纯JavaScript的解决方案。

updateHidden = function(x) { 
 
     document.querySelector("[name=bar]").value = x; 
 
    }
<input name="foo" value="" onchange="updateHidden(this.value)" type="text"> 
 
    <input name="bar" value="sometext" type="hidden">

更新

updateHidden = function() { 
 

 
document.querySelector("[name=bar]").value = document.querySelector("[name=foo]").value; 
 
} 
 

 

 
document.querySelector("[name=foo]").addEventListener("change", updateHidden); 
 

 
/* 
 
or, 
 
document.querySelector("[name=foo]").addEventListener("keyup", updateHidden); 
 
*/
 <input name="foo" type="text"> 
 
     <input name="bar" type="hidden">

+0

表单字段是使用Wordpress简码生成的,所以我不能使用'onchange'。我需要使用表单ID进行引用。 – Trist

+0

我会更新我的回答@Trist – marmeladze