Skip to content

Commit a820e55

Browse files
committed
fix(condition): fix inconsistency when checking question conditions
fix #829
1 parent f183091 commit a820e55

File tree

5 files changed

+210
-208
lines changed

5 files changed

+210
-208
lines changed

inc/fields.class.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ public static function isVisible($id, $values) {
160160
foreach ($questionConditions as $question_condition) {
161161
$conditions[] = [
162162
'logic' => $question_condition->getField('show_logic'),
163-
'field' => $question_condition->getField('show_field'),
163+
'field' => 'formcreator_field_' . $question_condition->getField('show_field'),
164164
'operator' => $question_condition->getField('show_condition'),
165165
'value' => $question_condition->getField('show_value')
166166
];

inc/form.class.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -914,8 +914,8 @@ class='formcreator_form form_horizontal'>";
914914
}
915915
}
916916
echo Html::scriptBlock('$(function() {
917-
formcreatorShowFields();
918-
})');
917+
formcreatorShowFields();
918+
})');
919919

920920
// Show validator selector
921921
if ($item->fields['validation_required'] > 0) {
@@ -1106,7 +1106,7 @@ public function saveForm($input) {
11061106
$valid = true;
11071107
$data = [];
11081108

1109-
// Validate form fields
1109+
// Prepare form fields for validation
11101110
$question = new PluginFormcreatorQuestion();
11111111
$found_questions = $question->getQuestionsFromForm($this->getID());
11121112
foreach ($found_questions as $id => $question) {
@@ -1125,7 +1125,10 @@ public function saveForm($input) {
11251125
} else {
11261126
$data['formcreator_field_' . $id] = '';
11271127
}
1128+
}
11281129

1130+
// Validate form fields
1131+
foreach ($found_questions as $id => $question) {
11291132
$className = 'PluginFormcreator' . ucfirst($question->getField('fieldtype')) . 'Field';
11301133

11311134
if (class_exists($className)) {

js/scripts.js.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -531,7 +531,7 @@ function deleteTarget(items_id, token, target_id) {
531531
var formcreatorQuestions = new Object();
532532

533533
function formcreatorChangeValueOf(field_id, value) {
534-
formcreatorQuestions[field_id] = value;
534+
formcreatorQuestions['formcreator_field_' + field_id] = value;
535535
formcreatorShowFields();
536536
}
537537
function formcreatorAddValueOf(field_id, value) {

0 commit comments

Comments
 (0)