iT邦幫忙

0

HTML 語法: FORM+IFRAME/JS 寫作發問

請教一個很簡單的語法寫作
我想用純HTML寫個網頁(或加入JavaScript亦可)
檔名叫:index.html

用FORM 做主架構
FORM 有個主欄位叫cc(格式用text)
當cc的值等於空白時
index.html 程式會自動以亂數取得某頁
內容以iframe框架語法呼叫:page-001~010 其一頁面
若cc的值手動改為002
則內容以iframe框架語法呼叫:page-002.html 頁面

我的cc頁面有200多個: 都是以page-xxx.html開頭
用cc後的數字做對應

畫面下方立即產生page-xxx.html的內容
上方的選項區並不會改變

以上小小的程式
請前輩指點
或修改所列的程式碼

<form>
<input type="text" name="cc"><input type="button" value="go">
</form>

<script type="text/javascript">
LcFC1=new Array(10);
LcFC1[0]="page-001.html";
LcFC1[1]="page-002.html";
LcFC1[2]="page-003.html";
LcFC1[3]="page-004.html";
LcFC1[4]="page-005.html";
LcFC1[5]="page-006.html";
LcFC1[6]="page-007.html";
LcFC1[7]="page-008.html";
LcFC1[8]="page-009.html";
LcFC1[9]="page-010.html";

index1=Math.floor(Math.random()*LcFC1.length);
LcFC2="http://www.xxxxxx.idv.tw/"+LcFC1[index1]
top.location.href=LcFC2;
</script>

4
weiclin
iT邦高手 4 級 ‧ 2013-11-23 13:46:13
最佳解答

我也來練習一下
page-xxx.html放在一個叫做subpage的資料夾裡

&lt;pre class="c" name="code">



	&lt;title>as your wish&lt;/title>
	&lt;script>
		// get random between 001 ~ 010?
		var genRandPage = function(){
			return ("000" + (Math.floor(Math.random()*10) + 1)).slice(-3);
		}

		window.onload = function() {
			var randPageNum = genRandPage();
			document.getElementById('subPage').src = 'subpage/page-' + randPageNum + '.html';

			document.getElementById('changePageBtn').onclick = function() {
				var targetPageNum = document.getElementById('pageNum').value;
				targetPageNum = targetPageNum || genRandPage();
				document.getElementById('subPage').src = 'subpage/page-' + targetPageNum + '.html';
			}
		}
	&lt;/script>


	&lt;input id="pageNum" type="text">
	&lt;input id="changePageBtn" type="button" value="change page">
	&lt;br>
	&lt;iframe id="subPage" style="width:100%;height:500px;">&lt;/iframe>

weiclin提到:
我也來練習一下

感謝您的練習..
假設這支程式叫:weiclin.html
針對您的coding, 想加強兩個功能
1.我想讓pageNum的值出現在網址列上
如:weiclin.html?pageNum=007, 該如何修改..
2.在第一次執行時,input框框是空白的,是否能將所取得的值,加到文字方框框中

以上

謝謝

4
老鷹(eagle)
iT邦高手 1 級 ‧ 2013-11-20 16:30:01

這樣不就亂跳了嗎??Orz
還是你要送出才亂跳疑惑

&lt;pre class="c" name="code">


&lt;title>老鷹亂玩&lt;/title>
&lt;script type="text/javascript">
LcFC1=new Array(10);
LcFC1[0]="page-001.html";
LcFC1[1]="page-002.html";
LcFC1[2]="page-003.html";
LcFC1[3]="page-004.html";
LcFC1[4]="page-005.html";
LcFC1[5]="page-006.html";
LcFC1[6]="page-007.html";
LcFC1[7]="page-008.html";
LcFC1[8]="page-009.html";
LcFC1[9]="page-010.html";
index1=Math.floor(Math.random()*LcFC1.length);
LcFC2="http://www.xxxxxx.idv.tw/"+LcFC1[index1]
top.location.href=LcFC2;
&lt;/script>


&lt;form>
&lt;input type="text" name="cc">&lt;input type="button" value="go">
&lt;/form>
看更多先前的回應...收起先前的回應...

第二版本,等你按下按鈕才會亂數,剩下的你因該OK吧,加個判斷,判斷是否輸入為空,不是在執行你輸入的網頁,使用JQUERY

&lt;pre class="c" name="code">


&lt;title>老鷹亂玩&lt;/title>
&lt;script src="http://code.jquery.com/jquery-1.10.1.min.js">&lt;/script>
&lt;script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js">&lt;/script>
&lt;script>
$(document).ready(function(){
     $("#button").click(function(){
		LcFC1=new Array(10);
		LcFC1[0]="page-001.html";
		LcFC1[1]="page-002.html";
		LcFC1[2]="page-003.html";
		LcFC1[3]="page-004.html";
		LcFC1[4]="page-005.html";
		LcFC1[5]="page-006.html";
		LcFC1[6]="page-007.html";
		LcFC1[7]="page-008.html";
		LcFC1[8]="page-009.html";
		LcFC1[9]="page-010.html";
		index1=Math.floor(Math.random()*LcFC1.length);
		LcFC2="http://www.xxxxxx.idv.tw/"+LcFC1[index1]
		top.location.href=LcFC2;
     });
});

&lt;/script>


&lt;form>
&lt;input type="text" name="cc">&lt;input type="button" id="button" value="go">
&lt;/form>

這是樓主半年前的問題
可能還沒滿意的解決吧
疑惑

chingfeng提到:
這樣不就亂跳了嗎??

我是希望一開啟index首頁,就直接先隨便跳出一頁.
還請鷹俠再次提點..謝謝

index就第一版,第二版就第二頁

我整理了一下,還是有點問題,我希望一開啟網頁,就隨便開啟一頁,然後輸入任數字,會變換.
我不是用top.location.href亂跳,是開個iframe.
可否請鷹俠給我指點,感恩..

<title>老鷹亂玩</title>
<script type="text/javascript">
LcFC1=new Array(10);
LcFC1[0]="page-001";
LcFC1[1]="page-002";
LcFC1[2]="page-003";
LcFC1[3]="page-004";
LcFC1[4]="page-005";
LcFC1[5]="page-006";
LcFC1[6]="page-007";
LcFC1[7]="page-008";
LcFC1[8]="page-009";
LcFC1[9]="page-010";
index1=Math.floor(Math.random()*LcFC1.length);
LcFC2=LcFC1[index1]
</script>
<form>
<input type="text" name="cc"><input type="button" value="go" onclick="document.getElementById('iframe').src='cc'+this.form.cc.value+'.html';">
</form>
<iframe id="iframe"></iframe>

抱歉!這幾天手掛了,乾脆使用JQUERY,來寫這樣比較簡單.
等手好在coding

chingfeng提到:
等手好再coding

鷹俠大師
我是想用最基本的語法CODING
還請方便時
再予以指正...謝謝

其實JQUERY是JS的框架 方便很多

那你先自己寫看看吧,這邊有些資料您可以先看一下!
大陸的教學網站.
HTML <iframe> 标签
src打開網頁先讓他隨機制換.
JQuery教學
通常都是 什麼元素做了什麼事件 執行什麼東西 你可以參考一下!
Jquery因該很好上手 不過精通就是要經驗了!

JS語法參考
隨機做法,樓主就先自己嘗試寫寫看,等有草稿在來討論或者加強補充!

謝謝謝謝謝謝

分開貼
JS部分

&lt;pre class="c" name="code">
&lt;title>老鷹亂玩&lt;/title>
&lt;script src="http://code.jquery.com/jquery-1.10.1.min.js">&lt;/script>
&lt;script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js">&lt;/script>
&lt;script>
LcFC1=new Array(10);
LcFC1[0]="page-001.html";
LcFC1[1]="page-002.html";
LcFC1[2]="page-003.html";
LcFC1[3]="page-004.html";
LcFC1[4]="page-005.html";
LcFC1[5]="page-006.html";
LcFC1[6]="page-007.html";
LcFC1[7]="page-008.html";
LcFC1[8]="page-009.html";
LcFC1[9]="page-010.html";
index1=Math.floor(Math.random()*LcFC1.length);
LcFC2="http://www.google.com/"+LcFC1[index1]
$(document).ready(function(){
$("#test").attr('src',LcFC2); 
});
$(document).ready(function(){
var ss = $('#cc').val();
LcFC3="http://www.google.com/"+ss 
$("#button").click(function(){
$("#test").attr('src',LcFC3); 
});
});
&lt;/script>

HTML

&lt;pre class="c" name="code">

&lt;form>
&lt;input type="text" id="cc" name="cc">&lt;input type="button" id="button" value="go">
&lt;/form>
&lt;div>
&lt;iframe src="" id="test">&lt;/iframe>
&lt;/div>
&lt;div id="qq">&lt;/div>

目前可以隨機頁面,可以輸入"一次"置換頁面,現在交給你了!
多嘗試吧!

8
海綿寶寶
iT邦大神 1 級 ‧ 2013-11-20 16:39:08

執行環境:
1.Windows 7
2.Microsoft Internet Explorer 10
3.執行時需同意「允許被封鎖的內容」

&lt;pre class="c" name="code">
&lt;HTML>
&lt;SCRIPT Language="Javascript">
   function clickme() {
      document.all.mainframe.src = "http://ithelp.ithome.com.tw/question/" + document.all.pageno.value + "?tag=hp.share";
   }
   function clickmesel() {
      document.all.mainframe.src = "http://ithelp.ithome.com.tw/question/" + document.all.pagenosel.value + "?tag=hp.share";
   }
   function randsel() {
      document.all.pagenosel.selectedIndex = Math.floor(Math.random() * 4);
      clickmesel();
   }
&lt;/SCRIPT>
&lt;BODY onload="javascript:randsel();">
&lt;TABLE>
   &lt;TR>
      &lt;TD>
         &lt;INPUT type=TEXT name="pageno"/>
         &lt;INPUT type=BUTTON value="Click to Change Page" onclick="javascript:clickme();"/>				
      &lt;/TD>
   &lt;/TR>
   &lt;TR>
      &lt;TD>
         &lt;SELECT name="pagenosel">
           &lt;OPTION value="10141477">跨世代Open應用架構 研討會&lt;/OPTION>
           &lt;OPTION value="10138465">IBM 10月研討會課程訊息分享&lt;/OPTION>
           &lt;OPTION value="10126551">請問大家,如果理想妹想針對「儲存」或「虛擬化」這樣的題目辦個網聚,大家會想聽到那些內容呢?&lt;/OPTION>
           &lt;OPTION value="10126177">請問大家,您覺得台灣產業對「Big Data」的應用是否有機會爆發呢?&lt;/OPTION>
         &lt;/SELECT>
         &lt;INPUT type=BUTTON value="Click to Change Page" onclick="javascript:clickmesel();"/>				
      &lt;/TD>
   &lt;/TR>
   &lt;TR>
      &lt;TD>
         &lt;IFRAME name="mainframe" width="1024" height="768"/>
      &lt;/TD>
   &lt;/TR>
&lt;/TABLE>
&lt;/BODY>
&lt;/HTML>
看更多先前的回應...收起先前的回應...

筆記

iT邦幫忙MVPantijava提到:
執行時需同意「允許被封鎖的內容」

這個CODE不會隨機跳..疑惑

heyday提到:
這個CODE不會隨機跳

「重新載入」(Ctrl-F5)就會跳了

antijava提到:
「重新載入」(Ctrl-F5)就會跳了

可以不要用手嗎??落寞

這程式碼在「每次瀏覽器載入網頁時」都會隨機選一頁
如果你不關掉瀏覽器,Ctrl-F5也可以重新再隨機選一頁
很抱歉我實在不懂你要的結果是什麼
落寞

我要發表回答

立即登入回答