2017-10-16 124 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