2017-08-24 82 views
0

什麼
我想要的網址(例如https://stackoverflow.com)複製到輸入字段/表單並提交後顯示在列表中點擊的鏈接。 在提交時,輸入字段的內容將保存到一個firebase,其中的項目顯示在列表中。HTML輸入形式的URL

問題
想到我可以使用input-type =「url」,但它不起作用。 提交後我所得到的只是一個字符串。

任何人有這個問題的解決方案,理想情況下使用html + javaScript/jQuery的?

繼承人到目前爲止我的代碼:

//create firebase reference 
 
var dbRef = new Firebase("..."); 
 
var contactsRef = dbRef.child('contacts') 
 

 
//load all items 
 
contactsRef.on("child_added", function(snap) { 
 
    console.log("added", snap.key(), snap.val()); 
 
    document.querySelector('#contacts').innerHTML += (contactHtmlFromObject(snap.val())); 
 
}); 
 

 
//save items 
 
document.querySelector(".addValue").addEventListener("click", function(event) { 
 
    event.preventDefault(); 
 
    if(document.querySelector('#url').value != 'url' || document.querySelector('#email').value != ''){ 
 
    contactsRef 
 
     .push({ 
 
     name: document.querySelector('#url').value, 
 
       }) 
 
     contactForm.reset(); 
 
    } else { 
 
    alert('Please fill atlease name or email!'); 
 
    } 
 
}, false); 
 

 
//prepare items object's HTML 
 
function contactHtmlFromObject(contact){ 
 
    console.log(contact); 
 
    // resulting string 
 
    var html = ''; 
 
    html += '<li class="list-group-item contact">'; 
 
    html += '<div>'; 
 
     html += '<p class="lead">'+contact.name+'</p>'; 
 
     html += '<p>'+contact.email+'</p>'; 
 
    html += '</div>'; 
 
    html += '</li>'; 
 
    return html; 
 
}
<!DOCTYPE html> 
 
<html lang="en"> 
 
<head> 
 
    <meta charset="utf-8"> 
 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
 

 
    <title>frontendpublishing-test</title> 
 

 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> 
 
    <link rel="stylesheet" href="http://cdn.embed.ly/jquery.preview-0.3.2.css" /> 
 
    <style type="text/css"> 
 
    #contacts p, 
 
    #contacts p.lead{ 
 
     margin: 0; 
 
    } 
 
    </style> 
 
</head> 
 
<body> 
 
    <div class="container"> 
 
    <h1>Titel h1</h1> 
 
    <hr/> 
 
    <div class="row"> 
 
     <div class="col-md-6"> 
 
     <form method="post" name="contactForm"> 
 
      <div class="form-group"> 
 
      <input id="url" type="url" required name="url">   </input> 
 
      <button type="submit" class="btn btn-primary addValue">Submit</button> 
 
      </form> 
 
      <div class="col-md-6"> 
 
     <ul id="contacts" class="list-group"> 
 
      <!-- Contact Object li.list-group-item.contact will be added here by js --> 
 
     </ul> 
 
     </div> 
 
    </div> 
 
    </div> 
 

 
    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> 
 
    <!-- Latest compiled and minified Bootstrap --> 
 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script> 
 
    <!-- Include Firebase Library --> 
 
    <script src="https://cdn.firebase.com/js/client/2.2.3/firebase.js"></script> 
 
    <!-- Contacts Store JavaScript --> 
 
    <script src="script.js"></script> 
 
    
 
    <link rel="stylesheet" href="css/urldata.previewer.min.css" type="text/css" media="screen" /> 
 
    
 
    <script type="text/javascript" src="js/urldata.previewer.min.js"></script> 
 

 
</body> 
 
</html>

感謝

+1

你總是會得到'inpu'上的字符串t [type =「text」]'和'input [type =「url」]'。爲了顯示一個鏈接,你必須將你的網址包裝在一個''標籤中,否則它只會顯示一個不可點擊的文本。 – RBCunhaDesign

+0

是的,你說得對。 但即使當我改變標籤它不起作用。 這些項目是可點擊的,但不會指向任何網址。 謝謝 – bengraf

回答

1

總結你的輸出連接到一個有效的錨:

<a href="http://example.org">http://example.org</a>