1: <?php
2:
3: /**
4: * This file is part of the Nette Framework (http://nette.org)
5: *
6: * Copyright (c) 2004 David Grudl (http://davidgrudl.com)
7: *
8: * For the full copyright and license information, please view
9: * the file license.txt that was distributed with this source code.
10: * @package Nette\Forms\Controls
11: */
12:
13:
14:
15: /**
16: * Hidden form control used to store a non-displayed value.
17: *
18: * @author David Grudl
19: * @package Nette\Forms\Controls
20: */
21: class NHiddenField extends NFormControl
22: {
23: /** @var string */
24: private $forcedValue;
25:
26:
27: public function __construct($forcedValue = NULL)
28: {
29: parent::__construct();
30: $this->control->type = 'hidden';
31: $this->value = (string) $forcedValue;
32: $this->forcedValue = $forcedValue;
33: }
34:
35:
36: /**
37: * Bypasses label generation.
38: * @return void
39: */
40: public function getLabel($caption = NULL)
41: {
42: return NULL;
43: }
44:
45:
46: /**
47: * Sets control's value.
48: * @param string
49: * @return self
50: */
51: public function setValue($value)
52: {
53: $this->value = is_scalar($value) ? (string) $value : '';
54: return $this;
55: }
56:
57:
58: /**
59: * Generates control's HTML element.
60: * @return NHtml
61: */
62: public function getControl()
63: {
64: return parent::getControl()
65: ->value($this->forcedValue === NULL ? $this->value : $this->forcedValue)
66: ->data('nette-rules', NULL);
67: }
68:
69: }
70: