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>
感謝
你總是會得到'inpu'上的字符串t [type =「text」]'和'input [type =「url」]'。爲了顯示一個鏈接,你必須將你的網址包裝在一個''標籤中,否則它只會顯示一個不可點擊的文本。 – RBCunhaDesign
是的,你說得對。 但即使當我改變標籤它不起作用。 這些項目是可點擊的,但不會指向任何網址。 謝謝 – bengraf
不僅你必須將它們包裝在''標籤中,你必須將url添加到'href'屬性中以''。因此,在所有你將不得不吐出鏈接兩次。 'https://stackoverflow.com' – RBCunhaDesign