ユーザーが「つぶやき」を入力できるシンプルなフォームがあります。URLが入力されたときに何が起こるかを制御するために、舞台裏でJavaScriptをいくつか持っています。
test.com などの URL を入力すると、新しい入力フィールドが表示されます。
配列に保存されている URL を入力すると、選択オプションとともに新しい入力フィールドが表示されます。
ここに私のJavaScriptがあります:
var test = ["test1.com", "test2.com", "test3.com"];
$('#tweet_text_ga').hide();
$('#custom_alias').hide();
$('#tweet_campaign').hide();
$('#tweet_text').keydown(function () {
var val = this.value;
if (/\.[a-zA-Z]{2,3}/ig.test(val)) {
$('#custom_alias').show();
} else {
$('#custom_alias').hide();
}
if ($.inArray(val, test) !== -1) {
$('#tweet_campaign').show();
} else {
$('#tweet_campaign').hide();
}
});
URLだけ入力しても問題ありません。ただし、テキストを追加するとすぐに、URL が配列内にあるかどうかが無視され、選択オプションが削除されます。これをもっとうまく説明する方法がよくわからないので、私が何を意味するのかを示すためにフィドルをセットアップしました。
誰かが理解し、正しい方向に向けてくれることを願っています