Smarty 输入框

Smarty input field

我想在我的 Smarty tpl 文件中使用 jQuery 在输入字段中添加一些值。如果主机名输入字段留空并且您点击订购按钮,它应该将通用域名添加到输入字段。喜欢w1.test.local。但它不起作用

Smarty tpl 文件:

<div>
<input class="hostname-box" type="text" name="domain" required="" value="">
<a href="#host" class="button">Add</a>
</div>

<div>
<a href="#submit" class="button">Order</a>
</div>

JQuery

$('.button').click(function(){
    var fieldID = $(this).prev().attr("hostname-box");
    fieldID = fieldID.replace(/([\[\]]+)/g, "\");
    $('#' + fieldID).val("hello.domain.local");
});

但是出现这个错误:

VM3715:3 Uncaught TypeError: Cannot read property 'replace' of undefined at HTMLAnchorElement. (:3:23) at HTMLAnchorElement.dispatch (jquery.js:3) at HTMLAnchorElement.r.handle (jquery.js:3)

您可以使用输入 class 作为选择器来更改它的值:

$('.button').click(function(){
    var jHostName = $('.hostname-box');
    var hostNameValue = jHostName.text().trim();

    if(hostNameValue === '') {
        jHostName.val("hello.domain.local");
    }
});

JSFiddle

我个人会使用 class 而不是 button,因为它太笼统了。