2016-05-12 33 views
0

を保持私はこの宿題が言って持って、jqueryのウィンドウをポップアップこのモーダルウィンドウには、4つの入力フィールドとボタンが含まれている必要があります。ユーザーがそのボタンをクリックすると、モーダルウィンドウが消え、ユーザーが挿入したすべての値が表示されます(実際にはdivです)。モーダルウィンドウの入力フィールドに連結され、メインフォームのテキストフィールドに追加されます。モーダルウィンドウが表示されている間、メインフォームのフィールドは非アクティブになり、透明な灰色のdivがウェブページ(この灰色のdivはモーダルウィンドウの下になければなりません。ルブラウザウィンドウ)。 "が挿入された値

私が今までにしたのは最初の部分です。挿入された値を保持してテキストフィールドに追加することはできません。私が今まで持っているものは、次のとおりです。

<!doctype html> 
<html lang="en-US"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> 
    <title>Modal Login Window Demo</title> 
    <link rel="shortcut icon" href="http://designshack.net/favicon.ico"> 
    <link rel="icon" href="http://designshack.net/favicon.ico"> 
    <link rel="stylesheet" type="text/css" media="all" href="style.css"> 
    <script type="text/javascript" src="js/jquery-1.9.1.min.js"></script> 
    <script type="text/javascript" charset="utf-8" src="js/jquery.leanModal.min.js"></script> 
</head> 

<body> 
    <div id="w"> 
    <div id="content"> 
     <form id="myform"> 
      <label for="username">First name:</label> 
      <input type="text" name="firstname" id="firstname"> 
      <label for="username">Last name:</label> 
      <input type="text" name="lastname" id="lastname"> 
      <label for="username">Address:</label> 
      <input type="text" name="address" id="address"> 
      <input type="checkbox" name="vehicle1" value="Bike">I have a bike<br> 
      <input type="radio" name="like" value="like">Like this page?<br> 
      <center><a href="#loginmodal" class="flatbtn" id="modaltrigger">Open window</a></center> 
     </form> 
    </div> 
    </div> 

    <div id="loginmodal" style="display:none;"> 
    <h1>So my window just showed up!</h1> 
    <form id="loginform" name="loginform" method="post" action="index.html"> 
     <label for="username">First name:</label> 
     <input type="text" name="firstname" id="firstname"> 
     <label for="username">Last name:</label> 
     <input type="text" name="lastname" id="lastname"> 
     <label for="username">Address:</label> 
     <input type="text" name="address" id="address"> 
     <label for="username">Description:</label> 
     <input type="text" name="description" id="description"> 
     <div class="center"><input type="submit" name="loginbtn" id="loginbtn" class="flatbtn-blu hidemodal" value="Close window" tabindex="3"> </div> 
    </form> 
    </div> 
    <script type="text/javascript"> 
    $(function(){ 
    $('#loginform').submit(function(e){ 
    return false; 
    }); 

    $('#modaltrigger').leanModal({ top: 110, overlay: 0.45, closeButton: ".hidemodal" }); 
}); 

var val1 = $("#firstnamemodal").val(); 
var val2 = $("#lastnamemodal").val(); 
var val3 = $("#addressmodal").val(); 
var val4 = $("#descriptionmodal").val(); 

var concatenatedValue = val1 + val2 + val3 + val4; 

$("#loginbtn").click(function() { 
    $("#firstname").val(concatenatedValue); 
}); 

</script> 
</body> 
</html> 
+0

なり最初の部分は動作します。値を挿入してポップアップウィンドウを閉じると何も表示されません – AndrB

答えて

0

まず、矛盾するID名があります。 1つの要素だけがページ上で同じIDを持つことができます。したがって、モーダルウィンドウのIDの名前をfirstnamemodal,、lastnamemodalなどのように変更してください。

私が理解しているところでは、(モーダルウィンドウの)4つの入力フィールドから値を取得し、それらをまとめて1つの文字列にし、その文字列を他の5つの既存のフィールドのいずれかに付けたいとします。さて、まず、これらの4つの入力フィールドの値を別々に取得する必要があります。これは、(のは最初のものを言わせて)これらは、単に特定の入力フィールドにこれらを追加し、その後

var concatenatedValue = val1 + val2 + val3 + val4; 

で行われる連結、その後

var val1 = $("#firstnamemodal").val(); 
var val2 = $("#lastnamemodal").val(); 
var val3 = $("#addressmodal").val(); 
var val4 = $("#descriptionmodal").val(); 

で行うことができ、使用:

$("#loginbtn").click(function() { 
    $("#firstname").val(concatenatedValue); 
}); 

ので、完全なコードは

$("#loginbtn").click(function() { 
    var val1 = $("#firstnamemodal").val(); 
    var val2 = $("#lastnamemodal").val(); 
    var val3 = $("#addressmodal").val(); 
    var val4 = $("#descriptionmodal").val(); 
    var concatenatedValue = val1 + val2 + val3 + val4; 
    $("#firstname").val(concatenatedValue); 
}); 
+0

私はコードを挿入しましたが、何も起こりません。つまり、ポップアップウィンドウに値を挿入しますが、閉じても何も起こりません。 – AndrB

+0

クリックイベント内にすべてのコードを配置しましたか? (忘れて、完全なコードが含まれていることを忘れてしまった)IDの名前を変更しましたか? – Pandaqi

+0

はい、idsを変更しましたが、クリックイベント内にコードを挿入しませんでした。今は完璧に動作します。どうもありがとうございます。 – AndrB

関連する問題