Да, когда я понял, что только средствами PHP не удастся сделать то, что я задумал, я сразу же нашёл и скачал вот это: "Антон Шевчук. jquery учебник для начинающих". Но когда я стал это читать, то, понял что мой склероз не позволит мне это осилить. Во-первых ООП - я впервые с этим сталкиваюсь. Суть понятна, но очень сложно! Во-вторых сам язык Java...
Я прекрасно понимаю Ваше возмущение по поводу того, что ученик не желает изучать материал! Но я уже на 8 десятке: я смотрю пример из учебника, потом перехожу на страницу со своей задачей и с ужасом понимаю, что не смогу воспризвести того, что только что видел. Извините за это отступление.
Теперь о моих файлах. У меня уже 17 вариантов этого файла с формами! Самый первый вариант в посте#1 этой темы - это стандартный html-файл, добавьте HTML5-обрамление и всё.
Чтобы получить то, что Вы видите в посте#2, файл стал таким:
Код:
<!DOCTYPE html>
<html>
<head>
<title>Добавление показаний в БД</title>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="scripts/style.css"/>
<!--script src="http://code.jquery.com/jquery-latest.js"></script-->
<!-- Это свой jQuery - Работает! Т.е. можно работать без интернета!-->
<script src="http://localhost/phpMyAdmin/js/jquery/jquery-1.11.1.min.js"></script>
</head>
<body>
<div class="wrapper" style="clear:both"> <!-- wrapper по-английски - обертка-->
<div class="left_block" style="clear:both"> <!-- Это для выбора таблицы -->
<form id="Form1" action="scripts/data_previous.php" novalidate>
<label for="table"></label>
<input id="table" type="radio" name="table" value="energy_real">Реальные данные<br/>
<input type="radio" name="table" value="energy_report">В энергосбыт<br><br>
<input type="submit" name="submit1" value="Принять" data-method="serialize"><br>
</div> <!-- class="left_block" -->
<div class="right_block" style="clear:both"> <!-- Это для таблицы с результатом -->
<p><u>Предыдущие показания</u></p> <!-- Здесь тег <u> - это подчёркивание -->
<!-- Область для вывода результата:
именно сюда он и будет выведена динамически сформированная таблица
с предыдущими данными -->
<div id="tbl_result"></div>
</div> <!-- class="right_block" -->
</form>
</div> <!-- class="wrapper" -->
<!-- Что здесь:
1. Скрипт отсылает имя выбранной таблицы в data_previous.php, где из этой таблицы делается выборка нужных данных
2. Возвращает на страницу с формой то, что выбрали из БД в виде таблицы -->
<script>
$(function() {
$('#Form1 input[type="submit"]').click(function(e) {
e.preventDefault();
var $data;
$data = $(this).parent('form').serialize();
$.ajax({
url: $(this).parent('form').attr('action'),
type: 'post',
data: $data,
success: function(result) {
$('#tbl_result').html(result);
}
})
});
});
</script>
</body>
</html>
Теперь я пытаюсь ввести новые показания, но так и не знаю как данные следующих инпутов передать в
другой php-файл, а именно в calk_insert.php
Код:
<!DOCTYPE html>
<html>
<head>
<title>Ввод данных в БД</title>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="scripts/style.css"/>
<!--script src="http://code.jquery.com/jquery-latest.js"></script-->
<!-- Это свой jQuery - Работает! Т.е. можно работать без интернета!-->
<script src="http://localhost/phpMyAdmin/js/jquery/jquery-1.11.1.min.js"></script>
</head>
<body>
<div class="wrapper" style="clear:both"> <!-- wrapper по-английски - обертка-->
<div class="left_block" style="clear:both"> <!-- Это для выбора таблицы -->
<form id="Form1" action="scripts/data_previous.php" novalidate>
<label for="table"></label>
<input id="table" type="radio" name="table" value="energy_real">Реальные данные<br/>
<input type="radio" name="table" value="energy_report">В энергосбыт<br><br>
<input type="submit" name="submit1" value="Принять" data-method="serialize"><br>
</div> <!-- class="left_block" -->
<div class="right_block" style="clear:both"> <!-- Это для таблицы с результатом -->
<p><u>Предыдущие показания</u></p>
<!-- Область для вывода результата: -->
<div id="tbl_result"></div>
</div> <!-- class="right_block" -->
<!-- Ввод новых данных -->
<fieldset>
<legend>Введите данные:</legend>
<label for="dt_input">Дата:</label>
<input type="date" name="dt_input" size="30"><br/>
<label for="kW_total_daily">День:</label>
<input type="number" name="kW_total_daily" size="25"><br/>
<label for="kW_total_night">Ночь:</label>
<input type="number" name="kW_total_night" size="25"><br/>
</fieldset>
<br/>
<fieldset>
<input id="submit" type="submit2" value="Отправить данные"><br/>
</fieldset>
</form>
</div> <!-- class="wrapper" -->
<script>
$(function() {
$('#Form1 input[type="submit"]').click(function(e) {
e.preventDefault();
var $data;
$data = $(this).parent('form').serialize();
$.ajax({
url: $(this).parent('form').attr('action'),
type: 'post',
data: $data,
success: function(result) {
$('#tbl_result').html(result);
}
})
});
});
</script>
</body>
</html>
Где мне этот URL прописать?
Я пытался сделать это двумя формами:
Код:
<!DOCTYPE html>
<html>
<head>
<title>Ввод данных в БД</title>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="scripts/style.css"/>
<!--script src="http://code.jquery.com/jquery-latest.js"></script-->
<!-- Это свой jQuery - Работает! Т.е. можно работать без интернета!-->
<script src="http://localhost/phpMyAdmin/js/jquery/jquery-1.11.1.min.js"></script>
</head>
<body>
<div class="wrapper" style="clear:both"> <!-- wrapper по-английски - обертка-->
<div class="left_block" style="clear:both"> <!-- Это для выбора таблицы -->
<form id="Form1" action="scripts/data_previous.php" novalidate> <label for="table"></label>
<input id="table" type="radio" name="table" value="energy_real">Реальные данные<br/>
<input type="radio" name="table" value="energy_report">В энергосбыт<br><br>
<input type="submit" name="submit1" value="Принять" data-method="serialize"><br>
</div> <!-- class="left_block" -->
<div class="right_block" style="clear:both"> <!-- Это для таблицы с результатом -->
<p><u>Предыдущие показания</u></p>
<!-- Область для вывода результата: -->
<div id="tbl_result"></div>
</div> <!-- class="right_block" -->
</div> <!-- class="wrapper" -->
<!-- Ввод новых данных -->
<form id="Form2" action="scripts/calk_insert.php" novalidate>
<fieldset>
<legend>Введите данные:</legend>
<label for="dt_input">Дата:</label>
<input type="date" name="dt_input" size="30"><br/>
<label for="kW_total_daily">День:</label>
<input type="number" name="kW_total_daily" size="25"><br/>
<label for="kW_total_night">Ночь:</label>
<input type="number" name="kW_total_night" size="25"><br/>
</fieldset>
<br/>
<fieldset>
<input id="submit" type="submit2" value="Отправить данные"><br/>
</fieldset>
</form>
<script>
$(function() {
$('#Form1 input[type="submit"]').click(function(e) {
e.preventDefault();
var $data;
$data = $(this).parent('form').serialize();
$.ajax({
url: $(this).parent('form').attr('action'),
type: 'post',
data: $data,
success: function(result) {
$('#tbl_result').html(result);
}
})
});
});
</script>
</body>
</html>
Но и это не работает!
Всё упирается в то, что я не знаю как из одной, или из двух форм на одной HTML-странице отравить данные в два разных URL