フォーム送信がヒットした後に実行したい JavaScript に組み込まれた関数があります。基本的に、ページの外観を完全に変更します。しかし、JavaScript を通過するには、検索ボックスからの変数が必要です。現時点では、ページをリロードするため、点滅してそこにあったものがリセットされます。
そのため、関数に return false を設定して、それを行わないようにしていますが、必要な変数がフォームから送信されません。それを得るために何をすべきかについてのアイデアはありますか?updateTable()
機能が動作し、ページのリセットによってリセットされない限り、ページが更新されても問題ありません。
<form action="" method="get" onsubmit="return updateTable();">
<input name="search" type="text">
<input type="submit" value="Search" >
</form>
これはupdateTable
機能です:
function updateTable() {
var photoViewer = document.getElementById('photoViewer');
var photo = document.getElementById('photo1').href;
var numOfPics = 5;
var columns = 3;
var rows = Math.ceil(numOfPics/columns);
var content="";
var count=0;
content = "<table class='photoViewer' id='photoViewer'>";
for (r = 0; r < rows; r++) {
content +="<tr>";
for (c = 0; c < columns; c++) {
count++;
if(count == numOfPics) break; // check if number of cells is equal number of pictures to stop
content +="<td><a href='"+photo+"' id='photo1'><img class='photo' src='"+photo+"' alt='Photo'></a><p>City View</p></td>";
}
content +="</tr>";
}
content += "</table>";
photoViewer.innerHTML = content;
}