Added: user pages without checkbox

pull/193/head
Karai Csaba 9 years ago committed by Thorsten von Eicken
parent 95f0464dcb
commit c5c377db97
  1. 62
      examples/dummy-web-server.pl
  2. 22
      examples/web-server/User.html
  3. 4
      html/userpage.js

@ -13,6 +13,11 @@ my $ledFreq : shared = 10;
my @ledHistory : shared; my @ledHistory : shared;
my $startTime : shared = time; my $startTime : shared = time;
my $pattern : shared = "50_50"; my $pattern : shared = "50_50";
my $userFname : shared;
my $userLname : shared;
my $userAge : shared;
my $userGender : shared;
# auto-flush on socket # auto-flush on socket
$| = 1; $| = 1;
@ -353,6 +358,20 @@ sub readUserPages
return $add; return $add;
} }
sub jsonString
{
my ($text) = @_;
return 'null' if ! defined $text;
return "\"$text\"";
}
sub jsonNumber
{
my ($num) = @_;
return 'null' if ! defined $num;
return $num + 0;
}
sub led_add_history sub led_add_history
{ {
my ($msg) = @_; my ($msg) = @_;
@ -435,6 +454,44 @@ sub process_user_comm_voltage
return content_response($r, $http->{url}); return content_response($r, $http->{url});
} }
sub process_user_comm_user
{
my ($http) = @_;
if( $http->{urlArgs}{reason} eq "submit" )
{
if( exists $http->{postArgs}{last_name} )
{
$userLname = $http->{postArgs}{last_name};
}
if( exists $http->{postArgs}{first_name} )
{
$userFname = $http->{postArgs}{first_name};
}
if( exists $http->{postArgs}{age} )
{
$userAge = $http->{postArgs}{age};
}
if( exists $http->{postArgs}{gender} )
{
$userGender = $http->{postArgs}{gender};
}
return simple_response(204, "OK");
}
elsif( $http->{urlArgs}{reason} eq "load" )
{
my $r = '{"last_name": ' . jsonString($userLname) .
', "first_name": ' . jsonString($userFname) .
', "age": ' . jsonNumber($userAge) .
', "gender": ' . jsonString($userGender) . '}';
return content_response($r, $http->{url});
}
return content_response("{}", $http->{url});
}
sub process_user_comm() sub process_user_comm()
{ {
my ($http) = @_; my ($http) = @_;
@ -448,4 +505,9 @@ sub process_user_comm()
{ {
return process_user_comm_voltage($http); return process_user_comm_voltage($http);
} }
if( $http->{url} eq '/User.html.json' )
{
return process_user_comm_user($http);
}
} }

@ -0,0 +1,22 @@
<div class="header">
<h1>User setup</h1>
</div>
<div class="content">
<form>
First name:<br/><input name="first_name" type="text"/>
Last name:<br/><input name="last_name" type="text"/>
Age:
<input name="age" type="number"/>
Gender:
<select name="gender">
<option value="female">Female</option>
<option value="male">Male</option>
</select>
<br>
Notifications<input name="notifications" type="checkbox"/>
<br>
<input type="submit">
</form>
</div>
</body></html>

@ -23,6 +23,10 @@ function notifyResponse( data )
el.value = data[v]; el.value = data[v];
} }
} }
if(el.tagName == "SELECT")
{
el.value = data[v];
}
} }
var elem = document.getElementById(v); var elem = document.getElementById(v);
if( elem != null ) if( elem != null )

Loading…
Cancel
Save