158 lines
6.9 KiB
PHP
158 lines
6.9 KiB
PHP
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Form Preview - Google Forms</title>
|
|
<link rel="stylesheet" href="https://bootswatch.com/3/flatly/bootstrap.min.css">
|
|
<link rel="stylesheet" href="<?php echo base_url(); ?>assets/css/response_submit.css">
|
|
|
|
<script>
|
|
function validateForm() {
|
|
let isValid = true;
|
|
document.querySelectorAll('.question-container').forEach(function(container) {
|
|
let isRequired = container.dataset.required === '1';
|
|
let questionType = container.dataset.type;
|
|
let isAnswered = false;
|
|
|
|
// Select inputs relevant to the question type
|
|
let inputs = container.querySelectorAll('input[type="text"], textarea, select, input[type="radio"]:checked, input[type="checkbox"]:checked');
|
|
if (inputs.length > 0) {
|
|
inputs.forEach(function(input) {
|
|
if (input.type === 'text' || input.tagName.toLowerCase() === 'textarea') {
|
|
if (input.value.trim() !== '') {
|
|
isAnswered = true;
|
|
}
|
|
} else if (input.type === 'radio' || input.type === 'checkbox') {
|
|
isAnswered = true;
|
|
} else if (input.tagName.toLowerCase() === 'select') {
|
|
if (input.value.trim() !== '') {
|
|
isAnswered = true;
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
if (isRequired && !isAnswered) {
|
|
container.style.border = '2px solid red';
|
|
isValid = false;
|
|
} else {
|
|
container.style.border = 'none';
|
|
}
|
|
});
|
|
return isValid;
|
|
}
|
|
|
|
function closePopup() {
|
|
document.getElementById('popup-message').style.display = 'none';
|
|
}
|
|
|
|
// Display the popup message when the page loads
|
|
window.onload = function() {
|
|
if (document.getElementById('popup-message')) {
|
|
document.getElementById('popup-message').style.display = 'block';
|
|
}
|
|
};
|
|
</script>
|
|
|
|
<style>
|
|
.popup-message {
|
|
display: none;
|
|
position: fixed;
|
|
top: 10%;
|
|
left: 40%;
|
|
transform: translate(-20%, -40%);
|
|
background-color: white;
|
|
padding: 30px;
|
|
width: 80%;
|
|
max-width: 600px;
|
|
box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
|
|
z-index: 1000;
|
|
border-top: 10px solid rgb(103, 58, 183);
|
|
border-radius: 8px;
|
|
text-align: center;
|
|
}
|
|
|
|
.popup-message h2 {
|
|
margin-top: 0;
|
|
color: rgb(103, 58, 183);
|
|
font-size: 24px; /* Increase font size */
|
|
}
|
|
|
|
.popup-message p {
|
|
font-size: 18px; /* Increase font size */
|
|
}
|
|
|
|
.popup-message button {
|
|
background-color: rgb(103, 58, 183);
|
|
color: white;
|
|
border: none;
|
|
padding: 10px 20px;
|
|
border-radius: 5px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.popup-message button:hover {
|
|
background-color: darkviolet;
|
|
}
|
|
</style>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
<div class="container">
|
|
<!-- <div class="form-header">
|
|
<h2><?php echo $form->title; ?></h2>
|
|
<h4><?php echo $form->description; ?></h4>
|
|
</div> -->
|
|
|
|
<?php if (isset($message)) : ?>
|
|
<div id="popup-message" class="popup-message">
|
|
<p><?php echo $message; ?></p>
|
|
<button onclick="closePopup()">Close</button>
|
|
</div>
|
|
<?php else : ?>
|
|
<form action="<?php echo base_url('response_submit/submit_form'); ?>" method="post" onsubmit="return validateForm();">
|
|
<input type="hidden" name="form_id" value="<?php echo $form->id; ?>">
|
|
<div class="form-section">
|
|
<?php foreach ($questions as $question) : ?>
|
|
<div class="question-container" data-required="<?php echo $question->is_required; ?>" data-type="<?php echo $question->type; ?>">
|
|
<input type="hidden" name="responses[<?php echo $question->id; ?>][question_id]" value="<?php echo $question->id; ?>">
|
|
<input type="hidden" name="responses[<?php echo $question->id; ?>][form_id]" value="<?php echo $form->id; ?>">
|
|
<label class="<?php echo $question->is_required ? 'required-field' : ''; ?>"><?php echo $question->text; ?></label>
|
|
<?php if ($question->type == 'multiple-choice') : ?>
|
|
<?php foreach ($question->options as $option) : ?>
|
|
<div class="option">
|
|
<input type="radio" name="responses[<?php echo $question->id; ?>][options][]" value="<?php echo $option->option_text; ?>">
|
|
<label><?php echo $option->option_text; ?></label>
|
|
</div>
|
|
<?php endforeach; ?>
|
|
<?php elseif ($question->type == 'checkboxes') : ?>
|
|
<?php foreach ($question->options as $option) : ?>
|
|
<div class="option">
|
|
<input type="checkbox" name="responses[<?php echo $question->id; ?>][options][]" value="<?php echo $option->option_text; ?>">
|
|
<label><?php echo $option->option_text; ?></label>
|
|
</div>
|
|
<?php endforeach; ?>
|
|
<?php elseif ($question->type == 'short-answer') : ?>
|
|
<input type="text" class="form-control" name="responses[<?php echo $question->id; ?>][answered_text]" placeholder="Short answer text">
|
|
<?php elseif ($question->type == 'paragraph') : ?>
|
|
<textarea class="form-control" name="responses[<?php echo $question->id; ?>][answered_text]" placeholder="Paragraph text"></textarea>
|
|
<?php elseif ($question->type == 'dropdown') : ?>
|
|
<select class="form-control" name="responses[<?php echo $question->id; ?>][answered_text]">
|
|
<?php foreach ($question->options as $option) : ?>
|
|
<option value="<?php echo $option->option_text; ?>"><?php echo $option->option_text; ?></option>
|
|
<?php endforeach; ?>
|
|
</select>
|
|
<?php endif; ?>
|
|
</div>
|
|
<?php endforeach; ?>
|
|
</div>
|
|
<button type="submit" class="btn btn-success" style="display: block; margin: 20px auto 20px 240px; background-color: rgb(103, 58, 183); border-color: rgb(103, 58, 183); color: white;">Submit</button>
|
|
</form>
|
|
<?php endif; ?>
|
|
</div>
|
|
|
|
</body>
|
|
</html>
|