基于锚值的动态表格输入

时间:2012-10-23 19:23:38

标签: javascript html dynamic anchor

我有以下片段打开一个模态表单:

<a class="modalbox" id="foo" href="#inline">Request a Quote</a>
<a class="modalbox" id="bar" href="#inline">Request a Quote</a>
...and so on...

不知何故,我需要在以下HTML表单的输入“sub”中呈现ID的值 以及将ID与某些预定文本连接起来,这是“我感兴趣的......”

<form id="contact" name="contact" action="#" method="post">
    <input type="hidden" id="product" name="product" value="">
    <label for="sub">Subject:</label>
    <input type="sub" id="sub" name="sub" class="txt" value="I am interested in '$id'">
    <button id="send">Submit</button>

我已经使用Javascript进行验证,使用AJAX处理PHP脚本。

编辑: 这是用于填充上面隐藏输入的Javascript,它运行正常:

$('a').click(function(e) {

 $('#product').val($(this).attr('id'));

1 个答案:

答案 0 :(得分:0)

我建议使用简单的JavaScript,例如:

function addTextToInput(from, to, prefix, e) {
    e = e || window.event;
    if (!from || !to) {
        return false;
    }
    else {
        from = from.nodeType == 1 ? from : document.getElementById(from);
        to = to.nodeType == 1 ? to : document.getElementById(to);
        var text = from.id;
        to.value = prefix ? prefix + ' ' + text : text;
    }
}

var as = document.querySelectorAll('a.modalbox');
for (var i = 0, len = as.length; i<len; i++) {
    as[i].onclick = function(e) {
        addTextToInput(this, 'sub', 'I am interested in', e);
    };
}​

JS Fiddle demo

但鉴于您似乎已经在使用jQuery:

$('a.modalbox').click(function(e){
    e.preventDefault();
    $('#sub').val('I am interested in ' + this.id);
});

JS Fiddle demo