[英]Automatically filling out a form when clicking a table row with javascript/jquery
[英]Filling out a form field automatically
我的管理面板中有一个表单,我希望管理员有权通过该表单创建新页面。
在这个表单中有两个字段,类别名称和 URL。
我希望当管理员填写类别字段时,URL 字段会自动填充。
假设管理员输入类别名称作为审计和报告,那么 URL 应填写为审计和报告.php。
这是我的代码:
<td height="26" align="right" ><span class="required">*</span> Name :</td>
<td>
<input type="text" name="category_name" value="" placeholder="Your Catgeory Name" size="40" /> <a href="#" class="url_from_title">Create URL</a><br />
<div id="error_url_creator" class="red"></div>
</td>
</tr>
<tr class="trOdd">
<td height="26" align="right"><span class="required">**</span> Page URL :
</td>
</tr>
如何做到这一点?
您可以创建一个 JavaScript 事件方法,用连字符“-”替换空格。 这将在更改/模糊文本框时触发。 例如
function getUrl(txtBoxText){
return txtBoxText.toLowerCase().replace(/ /g,"-")+”.php”;
}
您可以根据需要更改连字符。
使用像这样的 html,在其中使用 data-*,就像使用 data-timestamp 一样。
<input class="category-input" type="text" data-category-url="audits-and-reporting.php" name="category_name" value="" placeholder="Your Catgeory Name" size="40" />
然后你可以使用 jQuery 的 data 函数来获取它,你会像这样使用:
$(input).data("category-url");
在这种情况下。 只有当您的类别输入元素上出现您想要的事件(可能是焦点或模糊)时,您才会使用它。 它可能像
$(".category-input").on("focusout blur", function(){
var url = $(this).data("category-url");
// Now you can place that url wherever you want
});
- -编辑 - -
如果必须动态生成 url,请使用javascript 的 encodeURI而不是 data-* 东西。
HTML
<table>
<tr>
<td><span class="required">*</span> Name :</td>
<td>
<input type="text" name="category_name" value="" placeholder="Your Catgeory Name" size="40" id="Catname" />
<a href="#" class="url_from_title" onclick="CreateURL()">Create URL</a><br />
<div id="error_url_creator" class="red"></div>
</td>
</tr>
<tr class="trOdd">
<td>
<span class="required">*</span> Page URL :
<input type="text" id="CreatedURL" name="URL" />
</td>
</tr>
</table>
Javascript
function CreateURL() {
var CatName = document.getElementById("Catname").value;
var URL = CatName.toLowerCase();
var replacedString = URL.replace(/ /g, "-");
var FinalURL = replacedString + ".php";
document.getElementsByName('URL')[0].value = FinalURL;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.