我想为插件创建一个参数,该参数将从我自己的表中读取并存储在自己的表中。我使用自定义表单字段类型,但我不知道在哪里添加代码。
<?php
defined('_JEXEC') or die('Restricted access');
jimport('joomla.form.formfield');
class JFormFieldMyOptions extends JFormField {
protected $type = 'myOptions';
public function getInput() {
return '<select id="'.$this->id.'" name="'.$this->name.'">'.
'<option value="1" >Option 1</option>'.
'<option value="2" >Option 2</option>'.
'<option value="3" >Option 3</option>'.
'</select>';
}
}
我想到了以下解决方案。
- 你应该在你的页面中包含JavaScript。
-
您应该将 JavaScript 事件附加到表单中。提交表单时,您将获得选项值,并通过 AJAX 将其发送到控制器。该脚本会将值存储在数据库中。您应该使用 RAW 控制器。
class JFormFieldMyOptions extends JFormField { protected $type = 'myOptions'; public function getInput() { return '<select id="'.$this->id.'" name="'.$this->name.'">'. '<option value="1" >Option 1</option>'. '<option value="2" >Option 2</option>'. '<option value="3" >Option 3</option>'. '</select>'; } $document = JFactory::getDocument(); $document->addScriptDeclaration(' jQuery(document).ready(function() { jQuery("#form_id").on("submit", function(event) { var optionValue = jQuery("#'.$this->id.'").val(); // Send the option value to your script via AJAX. // .... // Submit the form. jQuery("#form_id").submit(); }); }); '); }}