以下が、JavaScriptで実装した、フォームから入力した内容をリストに追加して一覧にするアプリです。セキュリティの観点から、evalや他のサイトへのリダイレクトは行わず、alertも使用していません。
```html
<!DOCTYPE html>
<html>
<head>
<title>リストアプリ</title>
</head>
<body>
<h1>リストアプリ</h1>
<form>
<label for="item">入力:</label>
<input type="text" id="item" name="item" autocomplete="off">
<button type="submit" id="add-btn">追加</button>
</form>
<ul id="list"></ul>
<script>
// リストのボタンをクリックしたときに、その要素を削除する関数
function deleteItem(e) {
e.target.parentNode.remove();
}
// フォームを送信したときに、入力された内容をリストに追加する関数
function addItem(e) {
e.preventDefault(); // フォーム送信のデフォルトの動作を無効にする
let item = document.getElementById("item").value; // 入力された内容を取得
if (item) { // 入力があれば
let list = document.getElementById("list"); // リストのエレメントを取得
let li = document.createElement("li"); // 新しいリストアイテムを作成
let btn = document.createElement("button"); // 削除ボタンを作成
btn.innerHTML = "削除"; // ボタンにテキストを追加
btn.addEventListener("click", deleteItem); // ボタンのクリックイベントに関数を登録
li.innerHTML = item; // リストアイテムにテキストを追加
li.appendChild(btn); // ボタンをリストアイテムに追加
list.appendChild(li); // リストアイテムをリストに追加
document.getElementById("item").value = ""; // 入力欄をクリア
}
}
// フォームの送信イベントにaddItem関数を登録
document.getElementById("add-btn").addEventListener("click", addItem);
</script>
</body>
</html>
```
ジョークとして、入力欄に「何か面白いことを書いてください」というラベルをつけることもできます。また、追加ボタンのテキストを「GO!」にしてみたり、削除ボタンのテキストを「消す」としたりするのも面白いかもしれません。