سؤال

وأنا أحاول أن تبدأ مع HTML_QuickForm الكمثرى ولكن أواجه مشكلة. لسبب ما كل من بلدي بيانات النموذج وتقديمه مع GET وليس POST. ومن المفترض الافتراضي لتكون وظيفة وحاولت تحديد ذلك صراحة. الشيء الوحيد الذي كنت قد تمكنت من معرفة أنه عندما أدعو ببساطة عرض () على الشكل الذي يعمل بشكل صحيح. أنا باستخدام قالب ثابت ولسبب ما عند استخدام أنه لا يعمل بشكل صحيح. يتم تقديم قانون بلدي أدناه.

<?php
include_once 'HTML/QuickForm.php';
include_once 'HTML/Template/Sigma.php';
include_once 'HTML/QuickForm/Renderer/ITStatic.php';

$form = new HTML_QuickForm('formtest', 'post');
$form->addElement('text', 'mytext');
$form->addRule('mytext', 'This is required', 'required');
$form->addElement('submit', 'mysubmit', 'This is a submit button');

$tpl = & new HTML_Template_Sigma('.');
$tpl->loadTemplateFile('template.html');
$renderer = & new HTML_QuickForm_Renderer_ITStatic($tpl);
$renderer->setRequiredTemplate('{label}<font color="red" size="1">*</font>');
$renderer->setErrorTemplate('<font color="red">{error}</font><br />{html}');
$form->accept($renderer);
$tpl->show();
?>
هل كانت مفيدة؟

المحلول

فما باللك، أدركت المشكلة على الفور تقريبا. ملف قالب بلدي يشبه هذا:

<html>
<head><title>Test Form</title></head>
<body>
<form>
{formtest_mytext_html}<br />
{formtest_mytext_label}<br />
{formtest_mysubmit_html}<br />
{formtest_mysubmit_label}<br />
</form>
</body>
</html>

وكانت المشكلة أن بلدي شكل العلامة ليس لديها طريقة لمعرفة ان كان من المفترض أن يكون ما بعد ذلك تخلفت دائما للحصول على. بدلا من ذلك علامة نموذج يجب أن يشبه هذا

<form {formtest_attributes}>

وو{} formtest_attributes بالطبع كونه قليلا أن يقول شكل لجعل نفسها POST.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top