У меня есть одна последняя часть перед тем, как закончить эту форму, но я думаю, что функции в шаблоне, который я использую, делают вещи немного сложными. В основном я хочу, чтобы флажок «согласен» был необходимо, прежде чем кнопка отправки выполнит свою команду.PHP Checkbox Validation before Submit
$tbl->addRow();
$tbl->addCell($frm->addInput('checkbox', 'checkbox', 'check'),
'submit', 'data', array('colspan'=>4));
$tbl->addRow();
$tbl->addCell($frm->addInput('submit', 'submit', 'Submit'),
'submit', 'data', array('colspan'=>4, 'onclick'=>'if(!this.form.checkbox.checked)return false};',));
$frmStr = $frm->startForm('result.php', 'post', '', array('onsubmit'=>'return checkSubmit(this);')) .
$tbl->display() . $frm->endForm();
return $frmStr;
}
Вот мой php для отправки/флажка. Ниже приведены функции, вызываемые для создания строк/ячеек/входов. Используя этот формат, я не могу просто добавить теги, и я думаю, что это то, что меня удерживает.
function addCell($data = '', $klass = '', $type = 'data', $attr_ar = array()) {
$cell = array(
'data' => $data,
'klass' => $klass,
'type' => $type,
'atts' => $attr_ar
);
if (empty($this->cur_section['rows'])) {
try {
throw new Exception('You need to addRow before you can addCell');
} catch(Exception $ex) {
$msg = $ex->getMessage();
echo "<p>Error: $msg</p>";
}
}
// add to current section's current row's list of cells
$count = count($this->cur_section['rows']);
$curRow = &$this->cur_section['rows'][$count-1];
$curRow['cells'][] = &$cell;
}
function addInput($type, $name, $value, $attr_ar = array()) {
$str = "<input type=\"$type\" name=\"$name\" value=\"$value\"";
if ($attr_ar) {
$str .= $this->addAttributes($attr_ar);
}
$str .= $this->xhtml? ' />': '>';
return $str;
}
С удовольствием передадим больше кода, если это поможет. Может ли кто-нибудь помочь мне правильно форматировать код, чтобы вписаться внутри аргумента «array» внутри функции addInput?
Какие рамки вы используете? –
извините, что вы подразумеваете под фреймворком? просто шаблон php, я получил некоторые функции js Это то, что я строю, если это то, что вы имеете в виду: http://www.dyn-web.com/php/order_form/example2.php – sixfiveoh
@sixfiveoh PHP ничего не может сделать до отправки формы. PHP работает на сервере, а не на клиенте. – Barmar