2017-10-16 125 views
-2

我在管理面板中有一个表单,我希望管理员有权创建新页面。自动填写表单字段

在这种形式中有两个字段,类别名称和URL。

我希望当管理员填写类别字段的URL字段会自动填充。

假设管理员输入类别名称作为审计和报告,那么URL应填写为audits-and-reporting.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> 

怎么可以这样做?

+0

这可以使用PHP和一点点的大脑力量完成 – madalinivascu

+1

@shahsani为什么要使用ajax?你只需要一些正则表达式来创建一个有效的URL地址和一个隐藏/禁用的字段 – madalinivascu

+0

@madalinivascu我知道,但我问这个问题的目的是要了解如何做到这一点! -_-我从这里的任何评论中没有得到真正的答案。 – prak24

回答

1

您可以创建一个JavaScript事件方法来替换带连字符“ - ”的空格。这将发生在文本框的变化/模糊。 例如

function getUrl(txtBoxText){ 
    return txtBoxText.toLowerCase().replace(/ /g,"-")+”.php”; 
} 

您可以根据您的要求更改连字符。

+0

您可能应该替换更多的字符而不是空格。大多数“字符串到子弹” - 库(和CMS的)取代除字母数字字符,空格和下划线之外的任何东西。 –

-2

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; 
} 
+0

谢谢你的答案,但它根本不起作用。 – prak24

+0

@ prak24,我试过了,它正在工作。等一下,我会做一个小提琴,你可以在那里检查它。 –

+0

@ prak24,请检查帖子并运行代码片段。这是工作。 –

-1

使用像这样的HTML中使用数据 - *,你会与数据的时间戳使用。

<input class="category-input" type="text" data-category-url="audits-and-reporting.php" name="category_name" value="" placeholder="Your Catgeory Name" size="40" /> 

然后你就可以用jQuery的数据功能,把它拿来,你会使用像:

$(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's encodeURI

+0

它应该是动态的。这些值应该是动态生成的。 – prak24

+0

尝试使用javascript的encodeURI,正如我在编辑中提到的那样。 –

+0

jQuery标签在哪里? – mplungjan