我目前正在一個網站上工作,雖然我非常流利地使用CSS和HTML,但我仍然對Javascript和PhP不熟悉。我正在嘗試創建一個表單,用戶可以在其中輸入信息,並且某些值發生更改時總$將會更改。例如,如果他們選擇3而不是1,總數將乘以3。然後,當他們按提交時,它將它們鏈接到一個貝寶,並在那裏也有總額,以便他們可以付款。我喜歡解決這個問題的挑戰,但只是想知道做到這一點的最佳方式。我應該在我的html中創建一個嵌入式框架,然後ONLOAD調用一個將頁面放置在頁面上的javascript函數,然後通過一些更多的javascript函數使它在不同的值被放入時總數會發生變化?我願意接受所有想法。現在我有這個,我有一種感覺,還有一個更簡單的方法來做到這一點:我該如何做到這一點?
HTML
<BODY onLoad="javascript:showform()">
<IFRAME class="iframe" src="about:blank" id="formarea" name="formarea">
</IFRAME>
的JavaScript
function showform() {
var data = ""
data +="<div style ='position: relative; margin-right: 50%; padding-left:120px; padding-right:60px;'>"
data +="<form method='post' name='contact_form' action='contact-form-handler.php'>"
data +="<fieldset>"
data +="<legend>Your Details</legend>"
data +="<ol>"
data +="<li>"
data +="<label for=name>Name</label>"
data +="<input id=name name=name type=text placeholder='First and last name' required>"
data +="</li>"
data +="<br>"
data +="<li>"
data +="<label for=email>Email</label>"
data +="<input id=email name=email type=email placeholder='[email protected]' required>"
data +="</li>"
data +="<br>"
data +="<li>"
data +="<label for=phone>Phone Number</label>"
data +="<input id=phone name=phone type=tel placeholder='555-555-5555' required>"
data +="</li>"
data +="<br>"
data +="</ol>"
data +="</fieldset>"
data +="<fieldset>"
data +="<legend>Logo Details</legend>"
data +="<ol>"
data +="<li>"
data +="<label for=logo>Logo #</label>"
data +="<select name=frontdesign>"
data +="<option value='1'>1</option>"
data +="<option value='2'>2</option>"
data +="<option value='3'>3</option>"
data +="<option value='4'>4</option>"
data +="<option value='5'>5</option>"
data +="<option value='6'>6</option>"
data +="</select>"
data +="</li>"
data +="<br>"
data +="<li>"
data +="<label for=nameofT>Name of Tournament</label>"
data +="<input id=nameofT name=nameofT type=text placeholder='Los Angeles Tournament 2013' required>"
data +="</li>"
data +="<br>"
data +="<li>"
data +="<label for=colors>Color(s)</label>"
data +="<input id=colors name=colors type=text placeholder='Kelly Green, Navy Blue' required>"
data +="</li>"
data +="<br>"
data +="</ol>"
data +="</fieldset>"
data +="<fieldset>"
data +="<legend>Shirt Details</legend>"
data +="<ol>"
data +="<li>"
data +="<label for=small>Small</label>"
data +="<textarea id=small name=small rows=1 type=text placeholder='#' required></textarea>"
data +="</li>"
data +="<br>"
data +="<li>"
data +="<label for=medium>Medium</label>"
data +="<textarea id=medium name=medium rows=1 type=text placeholder='#' required></textarea>"
data +="</li>"
data +="<br>"
data +="<li>"
data +="<label for=large>Large</label>"
data +="<textarea id=large name=large rows=1 type=text placeholder='#' required></textarea>"
data +="</li>"
data +="<br>"
data +="<li>"
data +="<label for=xlarge>X-Large</label>"
data +="<textarea id=xlarge name=xlarge rows=1 type=text placeholder='#' required></textarea>"
data +="</li>"
data +="<br>"
data +="<li>"
data +="<label for=xxlarge>XX-Large(If more then 3, add $1.50 per shirt)</label>"
data +="<textarea id=xxlarge name=xxlarge rows=1 type=text placeholder='#' required></textarea>"
data +="</li>"
data +="<br>"
data +="</ol>"
data +="</fieldset>"
data +="<fieldset>"
data +="<legend>Add Ons</legend>"
data +="<ol>"
data +="<li>"
data +="<label for=colorofshirt>Color of Shirt (If not White)</label>"
data +="<input id=colorofshirt name=colorofshirt type=text placeholder='Kelly Green, Navy Blue' required >"
data +="</li>"
data +="<br>"
data +="<li>"
data +="<label for=printonback>Print on Back</label>"
data +="<input id=printonback name=printonback type=text placeholder='2013 Champions' required>"
data +="</li>"
data +="<br>"
data +="</ol>"
data +="</fieldset>"
data +="<fieldset>"
data +="<input type='submit' value='Submit'>"
data +="</fieldset>"
data +="</form>"
data +="</div>"
formarea.document.writeln(data)
}// JavaScript Document
我還沒有開始摸清$總部分。從專業人士的角度來看,完成這一任務的最佳方式是什麼?
即整體形式是靜態的。沒有理由讓它成爲一堆JS。把它寫成普通的HTML,正好在你想要的地方,但是用CSS隱藏它。 'display:none'會隱藏它直到你需要它。當你希望它可見時,使用JS將CSS更改爲'display:block'。你甚至需要iFrame嗎? – 2013-11-04 05:20:17