SlideShare a Scribd company logo
1 of 22
Agile Development
Javascript, JQUERY, AJAX
     Frans Van Assche
Opdracht
1.   Gebruik Chrome, IE, of installeer Firebug plugin in Firefox
2.   Ontwikkel een programma met een simple tracking Entity voor deze
     twee use cases
     •   De gebruiker selecteert een cursus en kan via een start en stop zijn studietijd
         kan aangeven
     •   Toon de statistieken


1.   Indien er tijd over is bekijk een of meerdere van de volgende zaken
     •   Javascript
     •   Jquery
     •   Jquery mobile
     •   Ajax

Je werkt met een medestudent. Indien je vragen hebt
     –   Medestudent en internet
     –   Medestudenten uit je groep
     –   Begeleider
4. Set up van action log
https://docs.google.com/spreadsheet/ccc?key=0AhZ3foBCo3D8dEdlUlhXZWR2QUx1WEN1dTNmSkVQWUE#gid=0
guestbook.jsp
<form action="/sign" method="post">
 <div><textarea name="content" rows="3"
 cols="60"></textarea></div>
 <div><input type="submit" value="Post
 Greeting" /></div>
 <input type="hidden"
 name="guestbookName" value="<%=
 guestbookName %>"/>
</form>
SignGuestbookServlet
 public void doPost(HttpServletRequest req,
  HttpServletResponse resp)
  …
User user = UserService.getCurrentUser();
String guestbookName =
  req.getParameter("guestbookName");
String content = req.getParameter("content");
…
resp.sendRedirect(
  "/guestbook.jsp?guestbookName=“ +
  guestbookName);
<servlet>
  <servlet-name>sign</servlet-name>
  <servlet-class>
      guestbook.SignGuestbookServlet
  </servlet-class>
</servlet>
<servlet-mapping>
     <servlet-name>sign</servlet-name>
     <url-pattern>/sign</url-pattern>
</servlet-mapping>
Javascript

• Client-side scripting
• Gelijkt op Java
• Tutorial http://www.w3schools.com/js/
• <script type="text/javascript"
  src="jquery.js"></script>

• Untyped language
  – Gebruik var

• Object
   var adres = {
      naam: "test1.txt",
      straat: "Celestijnenlaan",
      nr: “200A",
      postcode: "3000",
      gemeente: "Leuven"
  }
• Function als data


 $.ajax({
     url: "test1.txt",
     success: function(result) {
          alert(result);
     }
 });
Debugging

• alert(‘Hoera het is gelukt!’);
• Ingebouwd in Chrome en IE
• http://getfirebug.com/
JQuery
  • http://www.w3schools.com/jquery/
  • <div id= "address" class= "high"           >


$("div").hide();   $("#address").hide();   $(".high").hide();




  • Meer selectors zijn mogelijk
• http://jquerymobile.com/


• http://jquerytools.org/
Asynchronous JavaScript and
             XML

$("button").click(function(){
  $.ajax({
      url:"test2.txt",
      success:function(result){
            $("div").html(result);
      }
  });
});
?
String button = "No button clicked";
if (req.getParameter("ajaxbtn")!=null){
     button = req.getParameter("ajaxbtn");
     resp.setContentType("text/plain");
     resp.getWriter().println(
            "Click on button " + button + " recorded!");
} else {
     if (req.getParameter("btn1")!=null)
            button = req.getParameter("btn1");
     if (req.getParameter("btn2")!=null)
            button = req.getParameter("btn2");
     if (req.getParameter("hiddenbtn")!=null)
            button = req.getParameter("hiddenbtn");
     resp.sendRedirect("/btntest.jsp?btn=" + button);
}
System.out.println(button);
FORM

 <form id="visFormid" name="visForm"
  action="/clickbtn" method="post">
  <button name="btn1" type="submit"
  value="Button 1">Button 1</button>
  <input name="btn2" type="submit"
  value="Button 2" />
</form>
Hidden form
<form id=“hiddenFormId" name=“hiddenForm"
  action="/clickbtn" method="post">
   <input id="hiddenBtnId" type="hidden"
  name="hiddenbtn" />
</form>

<button onclick="btnClicked(this)">Button 3</button>
<a href="javascript:return false;"
   onclick="btnClicked(this)">Button 4</a>
<span onclick="btnClicked(this)" style="background-
       color:red">
   Button 5
</span>
Hidden form

function btnClicked(me){
  $('#hiddenBtnId').val($(me).text());
  $('#hiddenFormId').submit();
}
Ajax (1)
<button class="ajaxbtn">
   Ajax Button 1
</button>

$(document).ready(function(){
    $(“.ajaxbtn").click(function(){
         $.ajax({
             url:"/clickbtn",
             type:"post",
             data: "ajaxbtn="+$(this).text().trim(),
             success:function(result){
                  $('#ajaxResponse').html(result);
             }
         });
    });
});
Ajax(2)
<button onclick="ajaxBtnClicked(this)">
   Ajax Button 2
</button>

function ajaxBtnClicked(me){
   $.ajax({
       url:"/clickbtn",
       type:"post",
       data: "ajaxbtn="+$(me).text().trim(),
       success:function(result){
               $('#ajaxResponse').html(result);
            }
   });
}

More Related Content

What's hot

Bootcamp Google Abidjan 2012: Workshop Gaou Search
Bootcamp Google Abidjan 2012: Workshop Gaou SearchBootcamp Google Abidjan 2012: Workshop Gaou Search
Bootcamp Google Abidjan 2012: Workshop Gaou SearchIsmael Toé
 
WordPress Customizer
WordPress CustomizerWordPress Customizer
WordPress Customizerslicejack
 
JS for Rails developers
JS for Rails developersJS for Rails developers
JS for Rails developersTimur Vafin
 
Javascript and jQuery for Mobile
Javascript and jQuery for MobileJavascript and jQuery for Mobile
Javascript and jQuery for MobileIvano Malavolta
 
10 Programación Web con .NET y C#
10 Programación Web con .NET y C#10 Programación Web con .NET y C#
10 Programación Web con .NET y C#guidotic
 
Workshop Teknis Javascript SMK Telkom Sandhy Putra Malang
Workshop Teknis Javascript SMK Telkom Sandhy Putra MalangWorkshop Teknis Javascript SMK Telkom Sandhy Putra Malang
Workshop Teknis Javascript SMK Telkom Sandhy Putra MalangEdi Santoso
 
React - podsumowanie z placu boju
React - podsumowanie z placu bojuReact - podsumowanie z placu boju
React - podsumowanie z placu bojuRadosław Mejer
 
jQuery - Javascript para quem não sabe Javascript
jQuery - Javascript para quem não sabe JavascriptjQuery - Javascript para quem não sabe Javascript
jQuery - Javascript para quem não sabe JavascriptNando Vieira
 
Palestra PythonBrasil[8]
Palestra PythonBrasil[8]Palestra PythonBrasil[8]
Palestra PythonBrasil[8]Thiago Da Silva
 
Android Fast Track CRUD Android PHP MySql
Android Fast Track CRUD Android PHP MySqlAndroid Fast Track CRUD Android PHP MySql
Android Fast Track CRUD Android PHP MySqlAgus Haryanto
 
RubyからJavaScriptへ (!tDiary会議 2011)
RubyからJavaScriptへ (!tDiary会議 2011)RubyからJavaScriptへ (!tDiary会議 2011)
RubyからJavaScriptへ (!tDiary会議 2011)Kohei MATSUOKA
 

What's hot (20)

Bootcamp Google Abidjan 2012: Workshop Gaou Search
Bootcamp Google Abidjan 2012: Workshop Gaou SearchBootcamp Google Abidjan 2012: Workshop Gaou Search
Bootcamp Google Abidjan 2012: Workshop Gaou Search
 
WordPress Customizer
WordPress CustomizerWordPress Customizer
WordPress Customizer
 
JS for Rails developers
JS for Rails developersJS for Rails developers
JS for Rails developers
 
Javascript and jQuery for Mobile
Javascript and jQuery for MobileJavascript and jQuery for Mobile
Javascript and jQuery for Mobile
 
10 Programación Web con .NET y C#
10 Programación Web con .NET y C#10 Programación Web con .NET y C#
10 Programación Web con .NET y C#
 
Workshop Teknis Javascript SMK Telkom Sandhy Putra Malang
Workshop Teknis Javascript SMK Telkom Sandhy Putra MalangWorkshop Teknis Javascript SMK Telkom Sandhy Putra Malang
Workshop Teknis Javascript SMK Telkom Sandhy Putra Malang
 
Tsu+powerfollower
Tsu+powerfollowerTsu+powerfollower
Tsu+powerfollower
 
React - podsumowanie z placu boju
React - podsumowanie z placu bojuReact - podsumowanie z placu boju
React - podsumowanie z placu boju
 
Asp .net Jquery
Asp .net JqueryAsp .net Jquery
Asp .net Jquery
 
DOCUMENTACION PAGINA WEB PHP
DOCUMENTACION PAGINA WEB PHPDOCUMENTACION PAGINA WEB PHP
DOCUMENTACION PAGINA WEB PHP
 
Jquery2
Jquery2Jquery2
Jquery2
 
The Tab widget
The Tab widgetThe Tab widget
The Tab widget
 
Macdom html preprocesor
Macdom html preprocesorMacdom html preprocesor
Macdom html preprocesor
 
jQuery - Javascript para quem não sabe Javascript
jQuery - Javascript para quem não sabe JavascriptjQuery - Javascript para quem não sabe Javascript
jQuery - Javascript para quem não sabe Javascript
 
Palestra PythonBrasil[8]
Palestra PythonBrasil[8]Palestra PythonBrasil[8]
Palestra PythonBrasil[8]
 
Sis quiz
Sis quizSis quiz
Sis quiz
 
Android Fast Track CRUD Android PHP MySql
Android Fast Track CRUD Android PHP MySqlAndroid Fast Track CRUD Android PHP MySql
Android Fast Track CRUD Android PHP MySql
 
RubyからJavaScriptへ (!tDiary会議 2011)
RubyからJavaScriptへ (!tDiary会議 2011)RubyからJavaScriptへ (!tDiary会議 2011)
RubyからJavaScriptへ (!tDiary会議 2011)
 
Custom agario skins
Custom agario skinsCustom agario skins
Custom agario skins
 
Phpex3
Phpex3Phpex3
Phpex3
 

Tools20121015

  • 2. Opdracht 1. Gebruik Chrome, IE, of installeer Firebug plugin in Firefox 2. Ontwikkel een programma met een simple tracking Entity voor deze twee use cases • De gebruiker selecteert een cursus en kan via een start en stop zijn studietijd kan aangeven • Toon de statistieken 1. Indien er tijd over is bekijk een of meerdere van de volgende zaken • Javascript • Jquery • Jquery mobile • Ajax Je werkt met een medestudent. Indien je vragen hebt – Medestudent en internet – Medestudenten uit je groep – Begeleider 4. Set up van action log
  • 3.
  • 5.
  • 6. guestbook.jsp <form action="/sign" method="post"> <div><textarea name="content" rows="3" cols="60"></textarea></div> <div><input type="submit" value="Post Greeting" /></div> <input type="hidden" name="guestbookName" value="<%= guestbookName %>"/> </form>
  • 7. SignGuestbookServlet public void doPost(HttpServletRequest req, HttpServletResponse resp) … User user = UserService.getCurrentUser(); String guestbookName = req.getParameter("guestbookName"); String content = req.getParameter("content"); … resp.sendRedirect( "/guestbook.jsp?guestbookName=“ + guestbookName);
  • 8. <servlet> <servlet-name>sign</servlet-name> <servlet-class> guestbook.SignGuestbookServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>sign</servlet-name> <url-pattern>/sign</url-pattern> </servlet-mapping>
  • 9. Javascript • Client-side scripting • Gelijkt op Java • Tutorial http://www.w3schools.com/js/
  • 10. • <script type="text/javascript" src="jquery.js"></script> • Untyped language – Gebruik var • Object var adres = { naam: "test1.txt", straat: "Celestijnenlaan", nr: “200A", postcode: "3000", gemeente: "Leuven" }
  • 11. • Function als data $.ajax({ url: "test1.txt", success: function(result) { alert(result); } });
  • 12. Debugging • alert(‘Hoera het is gelukt!’); • Ingebouwd in Chrome en IE • http://getfirebug.com/
  • 13. JQuery • http://www.w3schools.com/jquery/ • <div id= "address" class= "high" > $("div").hide(); $("#address").hide(); $(".high").hide(); • Meer selectors zijn mogelijk
  • 15. Asynchronous JavaScript and XML $("button").click(function(){ $.ajax({ url:"test2.txt", success:function(result){ $("div").html(result); } }); });
  • 16. ?
  • 17. String button = "No button clicked"; if (req.getParameter("ajaxbtn")!=null){ button = req.getParameter("ajaxbtn"); resp.setContentType("text/plain"); resp.getWriter().println( "Click on button " + button + " recorded!"); } else { if (req.getParameter("btn1")!=null) button = req.getParameter("btn1"); if (req.getParameter("btn2")!=null) button = req.getParameter("btn2"); if (req.getParameter("hiddenbtn")!=null) button = req.getParameter("hiddenbtn"); resp.sendRedirect("/btntest.jsp?btn=" + button); } System.out.println(button);
  • 18. FORM <form id="visFormid" name="visForm" action="/clickbtn" method="post"> <button name="btn1" type="submit" value="Button 1">Button 1</button> <input name="btn2" type="submit" value="Button 2" /> </form>
  • 19. Hidden form <form id=“hiddenFormId" name=“hiddenForm" action="/clickbtn" method="post"> <input id="hiddenBtnId" type="hidden" name="hiddenbtn" /> </form> <button onclick="btnClicked(this)">Button 3</button> <a href="javascript:return false;" onclick="btnClicked(this)">Button 4</a> <span onclick="btnClicked(this)" style="background- color:red"> Button 5 </span>
  • 20. Hidden form function btnClicked(me){ $('#hiddenBtnId').val($(me).text()); $('#hiddenFormId').submit(); }
  • 21. Ajax (1) <button class="ajaxbtn"> Ajax Button 1 </button> $(document).ready(function(){ $(“.ajaxbtn").click(function(){ $.ajax({ url:"/clickbtn", type:"post", data: "ajaxbtn="+$(this).text().trim(), success:function(result){ $('#ajaxResponse').html(result); } }); }); });
  • 22. Ajax(2) <button onclick="ajaxBtnClicked(this)"> Ajax Button 2 </button> function ajaxBtnClicked(me){ $.ajax({ url:"/clickbtn", type:"post", data: "ajaxbtn="+$(me).text().trim(), success:function(result){ $('#ajaxResponse').html(result); } }); }