Rolf B: DOMParser und Progressive Enhancement

Beitrag lesen

problematische Seite

Hallo pl,

daran habe ich bis gerade gebastelt. Sag's nicht meinem Chef 😉

An meinen Onlinespace komm ich von hier nicht ran, darum muss ich es posten:

PHP Testseite - kein vorbildliches PHP, kein vorbildliches HTML, nur als kleiner, Ajax-agnostischer Testrahmen. Zeigt 3 Eingabefelder und einer Checkbox. Je nach gepostetem Wert von op werden die Eingaben zu 1000 addiert oder von 1000 subtrahiert. Die Checkbox ist funktionslos, dient nur zum Spielen für Default-Button im Eltern-Element. Die Seite funktioniert ohne ajaxforms.cs ganz normal als Affenformular.

<?php
class RequestData {
   public $Value1;
   public $Value2;
   public $Value3;
   public $IsOk;
   public $Result;
   public function getValue(int $n) {
      switch ($n) {
		case 1: return $this->Value1;
		case 2: return $this->Value2;
		case 3: return $this->Value3;
		default: return 0;
	  }
   }
}
if ($_SERVER['REQUEST_METHOD'] == 'GET')
   $data = handleGet();
else
   $data = handlePost();
   
function handleGet()
{
	$data = new RequestData();
	$data->Value1 = 0;
	$data->Value2 = 0;
	$data->Value3 = 0;
	$data->IsOk = false;
	$data->Result = '';
	return $data;
}
function handlePost() {
	$data = new RequestData();
	$data->Value1 = isset($_POST['value1']) ? intval($_POST['value1']) : 0;
	$data->Value2 = isset($_POST['value2']) ? intval($_POST['value2']) : 0;
	$data->Value3 = isset($_POST['value3']) ? intval($_POST['value3']) : 0;
	$data->IsOk = false;
	
    if (isset($_POST['op']) && $_POST['op'] == "add")
		$data->Result = 1000 + $data->Value1 + $data->Value2 + $data->Value3;
	else
		$data->Result = 1000 - ($data->Value1 + $data->Value2 + $data->Value3);
	return $data;
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Ajax Test</title>
<style>
label {
   display: block;
}
label span {
	display: inline-block;
	width: 5em;
}
label output {
   display: inline-block; whitespace:pre:
}
</style>
<script src="ajaxforms.js"></script>
</head>
<body>
<h1>Dein Taschenrechner <?=time()?></h1>
<form method="POST">
<fieldset><legend>Los geht's</legend>
<?php for ($i=1; $i<4; $i++): ?>
  <label>
    <span>Wert <?=$i?>:</span>
	<input autocomplete="off" type="tExt" name="value<?=$i?>" id="input<?=$i?>" data-submitBtn="<?=$i==2?"btnSub":"btnAdd"?>" value="<?=$data->getValue($i)?>">
  </label>
<?php endfor; ?>
  <label data-submitBtn="btnSub">
    <span>Alles ok?</span>
	<input type="checkbox" name="ok" id="cbOk" value="<?=$data->IsOk?>">
  </label>
<label class="updatePanel" id="ergebnis"><span>Ergebnis:</span><output><?=$data->Result?></output></label>
<button type="submit" id="btnAdd" name="op" value="add">Addieren</button>
<button type="submit" id="btnSub" name="op" value="sub">Subtrahieren</button>
</fieldset>
</form>
</body>
</html>

Rolf

--
sumpsi - posui - clusi