2017-02-16 6 views
0

私は本当に一緒に働くために自分のhtmlとjavascriptコードを取得しようとしています。私は、storeClientData()からユーザ情報を取得して、reservationMessageの上に印刷しようとしています。私は運がない最後の4時間のためにそれに取り組んでいます。どんな助けでも大歓迎です。Javascriptメソッドを自分のHTMLで印刷する方法

私は次のような出力を得たいと思っています: 氏氏名、姓、通り、都道府県、州、国、連絡先。その後

車のサイズと価格、オプション(例:ナビゲーション。)、日単位の期間、レンタルのコスト。

<!DOCTYPE html> 
<html> 
<head> 
    <title>Dodgy Brakes Car Rental</title> 
    <meta charset="utf-8" /> 
    <link href="new.css" rel="stylesheet" type="text/css"> 
    <script type="text/javascript" src="processregistration.js"></script> 
</head> 

    <center> 
     <img src="logo.jpg" height="250" width="auto"> 
    </center> 
<body> 
<center> 

<form name=costEstimation> 
    <table> 
     <tr> 
      <td> 
       <select required id="honorific"> 
        <option value=None>None</option> 
        <option value=Mr.>Mr.</option> 
        <option value=Mrs.>Mrs.</option> 
        <option value=Ms.>Ms.</option> 
        <option value=Dr.>Dr.</option> 
       </select> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <input type="text" pattern ="[a-zA-Z0-9-\s]{2,20}$" placeholder="First Name" id="firstName"> 
       <input type="text" pattern ="[a-zA-Z0-9-\s]{2,20}$" placeholder="Last Name" id="lastName"> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <input type="text" pattern="[a-zA-Z0-9-\s]{2,25}" placeholder="Street" id="street"> 
       <input type="text" pattern="[a-zA-Z0-9-\s]{2,25}" placeholder="City" id="city"> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <input type="text" pattern="[a-zA-Z0-9-\s]{2,25}" placeholder="State/Province" id="stateProvince"> 
       <input type="text" pattern="[a-zA-Z0-9-\s]{2,25}" placeholder="Country" id="country"> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <input type="text" placeholder="Business Number" pattern="\d{3}[\-]\d{3}[\-]\d{4}" id="businessNumber"> 
       <input type="text" placeholder="Home Number" pattern="\d{3}[\-]\d{3}[\-]\d{4}" id="homeNumber"> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <input type = "email" pattern = "[a-z0-9._%+-][email protected][a-z0-9.-]+\.[a-z]{2,5}$" placeholder="E-mail" id="emailAddress"> 
      </td> 
     </tr> 
     <tr> 
      <td> 
      <center> 
       <input type=button value="Register" onClick="showReservations(); return false;"> 
       <input type = "reset" value = "Reset"> 
      </center> 
      </td> 
     </tr> 
    </table> 

<div id="reservations" style="display:none;"> 

    <h3>Reservation Form</h3> 

    <table> 
     <tr> 
      <td> 
      <center> 
       <h4><u>Type of Vehicle</u></h4> 
       <input type=radio name=type value=25>Small $25.00<br> 
       <input type=radio name=type value=35>Midsize $35.00<br> 
       <input type=radio name=type value=45>Full-sized $45.00<br> 
       <input type=radio name=type value=50 >Van $50.00<br> 
      </center> 
      </td> 
     </tr> 
     <tr> 
      <td> 
      <center> 
       <h4><u>Additional Options</u></h4> 
       <input type=checkbox name=navigationSystem value= "10" >Navigation System $10.00<br> 
       <input type=checkbox name=childSeat value="5" >Child Seat $5.00<br> 
       <input type=checkbox name=roofRack value="15" >Roof Rack $15.00<br> 
       <input type=checkbox name=bicycleRack value="15" >Bicycle Rack $15.00<br> 
      </center> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <center> 
       <br> 
       <input type="text" placeholder="Enter Days" id="duration"> 
       <input type=button value="Calculate" onClick="calculateRental(); showFinal(); return false;"> 
       </center> 
      </td> 
     </tr> 
    </table> 
</div> 

<div id="showFinal" style="display:none;"> 
    <h3><span id="reservationResult"; </span></h3> 
</div> 
</form> 
</center> 
</body> 
</html> 

var customerData=[]; 

function storeClientData(){ 

    var honorific=document.getElementById("honorific").value 
    customerData[0]=honorific; 
    var firstName=document.getElementById("firstName").value; 
    customerData[1]=firstName; 
    var lastName=document.getElementById("lastName").value; 
    customerData[2]=lastName; 
    var street=document.getElementById("street").value; 
    customerData[3]=street; 
    var city=document.getElementById("city").value; 
    customerData[4]=city; 
    var stateProvince=document.getElementById("stateProvince").value 
    customerData[5]=stateProvince; 
    var country=document.getElementById("country").value; 
    customerData[6]=country; 
    var businessNumber=document.getElementById("businessNumber").value; 
    customerData[7]=businessNumber; 
    var homeNumber=document.getElementById("homeNumber").value; 
    customerData[8]=homeNumber; 
    var emailAddress=document.getElementById("emailAddress").value; 
    customerData[9]=emailAddress; 

var customerMessage = (customerData[0] + customerData[1] + " " + customerData[2] 
    + "<br>" + customerData[3] 
    + "<br>" + customerData[4] 
    + "<br>" + customerData[5] 
    + "<br>" + customerData[6] 
    + "<br>" + customerData[7] 
    + "<br>" + customerData[8] 
    + "<br>" + customerData[9]); 
    document.getElementById("customerResult").innerHTML = customerMessage; 
    setFormToEdit(); 
} 

function calculateRental(){ 
    var carSize = parseFloat(0); 
    var extraAmount = parseFloat(0); 
    var totalCost = parseFloat(0); 
    var message = " "; 
    var reservationMessage = " "; 
    var duration = parseFloat(0) 

    for (x = 0; x<document.costEstimation.type.length; x++){ 
     if(document.costEstimation.type[x].checked){ 
      carSize = document.costEstimation.type[x].value; 
     } 
    } 
    carSize = parseFloat(carSize); 
    if(document.costEstimation.navigationSystem.checked){ 
     extraAmount += parseFloat(document.costEstimation.navigationSystem.value); 
     message = (message + " Navigation system"); 
    }if (document.costEstimation.childSeat.checked){ 
     extraAmount += parseFloat(document.costEstimation.childSeat.value); 
     message = (message + " Child seat"); 
    }if (document.costEstimation.roofRack.checked){ 
     extraAmount += parseFloat(document.costEstimation.roofRack.value); 
     message = (message + " Roof rack"); 
    }if (document.costEstimation.bicycleRack.checked){ 
     extraAmount += parseFloat(document.costEstimation.bicycleRack.value); 
     message = (message + " Bicycle rack"); 
} 

duration = (document.getElementById("duration").value); 
duration = parseFloat(duration) 
totalCost = (duration*carSize)+(duration*extraAmount); 

reservationMessage += ("Car Information:" + "<br>" + "Rental cost: " + carSize + "<br>" + "Additional Options: " + message + "<br>" + "Total cost: " + totalCost); 
document.getElementById("reservationResult").innerHTML = reservationMessage; 
} 

function setFormToEdit() { 
    document.getElementById("honorific").readOnly=false; 
    document.getElementById("firstName").readOnly=false; 
    document.getElementById("lastName").readOnly=false; 
    document.getElementById("street").disabled=false; 
    document.getElementById("city").readOnly=false; 
    document.getElementById("stateProvince").readOnly=false; 
    document.getElementById("country").disabled=false; 
    document.getElementById("homeNumber").readOnly=false; 
    document.getElementById("businessNumber").readOnly=false; 
    document.getElementById("emailAddress").disabled=false; 
    } 

    function showReservations() { 
    document.getElementById("reservations").style.display = "block"; 
} 

    function showFinal() { 
    document.getElementById("showFinal").style.display = "block"; 
} 
+0

質問の編集中にHTMLエラーが見つかりました。まず、不足しているを修正します。次に、もう一度やり直して問題を少し具体的に指定してください。 –

+1

実際にはどこの関数でも 'storeClientData'を呼び出すことはありませんか? – thesublimeobject

+0

@masud_moni

0

あなたはHTMLでid="customerResult"属性を追加しませんでしたし、また、あなたがHTMLからstoreClientData()関数を起動しませんでした。そのため、storeClientData()関数からユーザー情報を取得することができず、予約フォームの上に印刷できませんでした。

HTMLの登録ボタンエレメントの前に<input type=button value="storeClientData" onClick="storeClientData(); return false;">エレメントを追加し、予約フォームの<div id="customerResult"></div>エレメントトップを追加しました。

最後のコードは、jsfiddleのリンクhttp://jsfiddle.net/ADukg/10171/で参照できます。

関連する問題