我在表单中有两个文本框和一个复选框。 我需要创建一个函数javascript函数,用于将第一个txtbox值复制到复选框更改事件的第二个文本框中。
我使用以下代码,但它在第一次显示为null时复选框为true。
function ShiptoBill()
{
var billing = document.getElementById("txtbilling").value;
var shipping = document.getElementById("txtshipping").value;
var check = // here i got checkbox checked or not
if(check == true)
{
// here I need to add the txtbilling value to txtshipping
}
}
答案 0 :(得分:2)
鉴于表单控件可以作为表单的命名属性进行访问,您可以从复选框中获取对表单的引用,然后有条件地将 txtshipping 的值设置为的值txtbilling 取决于是否选中,例如:
<form>
<input name="txtbilling" value="foo"><br>
<input name="txtshipping" readonly><br>
<input name="sameas" type="checkbox" onclick="
this.form.txtshipping.value = this.checked? this.form.txtbilling.value : '';
"><br>
<input type="reset">
</form>
&#13;
当然你可能想动态设置监听器,上面只提供一个提示。如果用户更改了内容并选中了复选框,您还可以有条件地复制内容,因此也可能需要 txtbilling 上的更改事件监听器。
答案 1 :(得分:0)
尝试以下。
function ShiptoBill() {
var billing = document.getElementById("txtbilling");
var shipping = document.getElementById("txtshipping");
var check = document.getElementById("checkboxId").checked;
if (check == true) {
shipping.value = billing.value;
} else {
shipping.value = '';
}
}
<input type="text" id="txtbilling" />
<input type="text" id="txtshipping" />
<input type="checkbox" onchange="ShiptoBill()" id="checkboxId" />
function ShiptoBill()
{
var billing = document.getElementById("txtbilling");
var shipping = document.getElementById("txtshipping");
var check = document.getElementById("checkboxId").checked; // replace 'checkboxId' with your checkbox 'id'
if (check == true)
{
shipping.value = billing.value;
}
}
答案 2 :(得分:0)
要在事件发生变化时获取,请执行
$('#checkbox1').on('change',function() {
if($(this).checked) {
$('#input2').val($('#input1').val());
}
});
这将检查复选框是否有更改,然后检查是否已选中。如果是,则将输入框1的值放入输入框2的值。
编辑:这是一个纯粹的JS解决方案,and a JSBin too。
function ShiptoBill()
{
var billing = document.getElementById("txtbilling").value;
var shipping = document.getElementById("txtshipping").value;
var check = document.getElementById("thischeck").checked;
console.log(check);
if(check == true)
{
console.log('checked');
document.getElementById("txtshipping").value = billing;
} else {
console.log('not checked');
}
}
与
<input id="thischeck" type="checkbox" onclick="ShiptoBill()">