
19.01.2017, 16:34
|
Новичок на форуме
|
|
Регистрация: 19.01.2017
Сообщений: 6
|
|
Отправка значания радиобаттона в php скрипт
Ребята, вопрос похоже очень популярный, но я столкнулся с этим, а разобраться не могу. нужно значение выбранного радиобаттона отправлять в скрипт
<?php
$con = mysql_connect("localhost","root","");
mysql_select_db("convertor", $con) or die(mysql_error());
$result = mysql_query("SELECT * from diagram ORDER BY diagramnumber");
?><?
if (mysql_num_rows($result) > 0)
{
$resultt = mysql_fetch_array($result);
$i==0;
?><script src='https://code.jquery.com/jquery-3.1.1.min.js'></script>
<form id="form_id"><?
do {
?>
<input type="radio" name="rrr" value="<?echo $i++;?>"><?echo $resultt['name'];?>
<Br>
<?
}
while($resultt = mysql_fetch_array($result)); ?>
<input type="submit" name="znach" value="Построить график" accept="text/xml" onClick="document.getElementById('one').contentWindow.location.reload(true);">
</form>
<script type="text/javascript">
$(function() {
$('#form_id').submit(function(e) {
e.preventDefault();
var isCheck = 0;
for (var i = 0; i < this.rrr.length; i++) {
if (this.rrr[i].checked) {
isCheck = 1;
break;
}
}
if (!isCheck) {
alert('Выберите вариант ответа');
return;
}
$.ajax({
type: 'post',
url: 'drawline.php',
data: $(this).serialize(),
success: function(result) {
$('#form_id').html(result);
}
});
});
});
</script>
<?
}
else { echo '-Нет диаграмм'; }
?>
|
|

19.01.2017, 16:59
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
<?php
$con = mysql_connect("localhost","root","");
mysql_select_db("convertor", $con) or die(mysql_error()); //не вываливайте ошибки sql на страницу
$result = mysql_query("SELECT * from diagram ORDER BY diagramnumber");
if (mysql_num_rows($result) > 0) {
$i==0;
?><script src='https://code.jquery.com/jquery-3.1.1.min.js'></script>
<form id="form_id"><?
while($row = mysql_fetch_assoc($result)):
?>
<input type="radio" name="rrr" value="<?=$i++?>"><?=$row['name']?>
<br>
<?
endwhile
?>
<input type="submit" name="znach" value="Построить график" accept="text/xml" onClick="document.getElementById('one').contentWindow.location.reload(true);">
</form>
<script type="text/javascript">
$(function() {
$('#form_id').submit(function(e) {
e.preventDefault();
var form = $(this);
if (!form.find('input:checked').length) {
alert('Выберите вариант ответа');
return;
}
$.ajax({
type: 'post',
url: 'drawline.php',
data: form.serialize(),
success: function(result) {
$('#form_id').html(result);
}
});
});
});
</script>
<?
}
else echo '-Нет диаграмм';
?>
А значение выбранной кнопки передаются здесь data: form.serialize(), в чем проблема?
Последний раз редактировалось laimas, 19.01.2017 в 17:01.
|
|

19.01.2017, 18:15
|
Новичок на форуме
|
|
Регистрация: 19.01.2017
Сообщений: 6
|
|
получение переменной $i = $_POST['rrr'];? верно?
суть такая, вот файл index.php
<meta charset="utf-8">
<title>Convertor IDEF0/3-->DiagramUML</title>
<link rel="stylesheet" href="main.css">
</head>
<body>
<?php include 'loadXML.php'; include 'ffff.php' ?>
<h1 align="center"><i>Конвертор диаграмм</i></h1>
<div class="main">
<div class="navigation_head">
<form class="XML" method="post" enctype="multipart/form-data">
<input type="file" name="xmlFile" accept="text/xml">
<input type="submit" name="buttonImport" value="Загрузить" accept="text/xml">
<input type="submit" name="Refresh" value="Отчистка БД" accept="text/xml">
</form>
</div>
<div class="bar">
<?php include 'radiobut.php';?>
</div>
<div class="content">
<iframe src='drawline.php' frameborder="1" height="670" width="1280" name="one" id="one">
</iframe>
</div>
<div class="navigation_footer"></div>
</div>
</body>
файл radiobut.php
<?php
$con = mysql_connect("localhost","root","");
mysql_select_db("convertor", $con) or die(mysql_error()); //не вываливайте ошибки sql на страницу
$result = mysql_query("SELECT * from diagram ORDER BY diagramnumber");
if (mysql_num_rows($result) > 0) {
$i==0;
?><script src='https://code.jquery.com/jquery-3.1.1.min.js'></script>
<form id="form_id"><?
while($row = mysql_fetch_assoc($result)):
?>
<input type="radio" name="rrr" value="<?=$i++?>"><?=$row['name']?>
<br>
<?
endwhile
?>
<input type="submit" name="znach" value="Построить график" accept="text/xml" onClick="document.getElementById('one').contentWindow.location.reload(true);">
</form>
<script type="text/javascript">
$(function() {
$('#form_id').submit(function(e) {
e.preventDefault();
var form = $(this);
if (!form.find('input:checked').length) {
alert('Выберите вариант ответа');
return;
}
$.ajax({
type: 'post',
url: 'drawline.php',
data: form.serialize(),
success: function(result) {
$('#form_id').html(result);
}
});
});
});
</script>
<?
}
else echo '-Нет диаграмм';
?>
и вот исходя из значения радиобаттона, по нажатию кнопки обновлялся фрейм. Кажется, я не понимаю чего то банального
|
|

19.01.2017, 18:23
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Ajax запрос производится к этому скрипту - drawline.php, в нем и получайте значение $_POST['rrr'], в чем проблема?
die(mysql_error()) только в режиме отладки на локальном сервере, но никак не на реальном.
|
|

19.01.2017, 18:41
|
Новичок на форуме
|
|
Регистрация: 19.01.2017
Сообщений: 6
|
|
все так и есть, там и получаю, но загвоздка в том что я пытаюсь сделать, чтобы по нажатию обновлялся фрейм в контенте, а у меня скрипт срабатывает в баре
|
|

19.01.2017, 18:43
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Что значит обновлялся - ответ сервера на запрос должен быть помещен во фрейм?
|
|

19.01.2017, 18:47
|
Новичок на форуме
|
|
Регистрация: 19.01.2017
Сообщений: 6
|
|
да, который в контенте
|
|

19.01.2017, 19:06
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Ну и зачем тогда Jjax, и форма, выбирайте кнопку, а по выбору меняйте url фрейма, передавая в него параметр выбранной кнопки. В обработчике указанном в src фрейма принимайте этот GET параметр, выполняйте операции нужные, содержание фрейма и будут обновлено. Сам iframe на странице можно рассматривать как контейнер для "аля ajax".
|
|

19.01.2017, 23:58
|
Новичок на форуме
|
|
Регистрация: 19.01.2017
Сообщений: 6
|
|
вы говорите о нечто подобном?
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>Convertor IDEF0/3-->DiagramUML</title>
<link rel="stylesheet" href="main.css">
</head>
<body>
<?php include 'loadXML.php'; include 'ffff.php' ?>
<h1 align="center"><i>Конвертор диаграмм</i></h1>
<div class="main">
<div class="navigation_head">
<form class="XML" method="post" enctype="multipart/form-data">
<input type="file" name="xmlFile" accept="text/xml">
<input type="submit" name="buttonImport" value="Загрузить" accept="text/xml">
<input type="submit" name="Refresh" value="Отчистка БД" accept="text/xml">
</form>
</div>
<div class="bar">
<form id="form_id" >
<?php
$con = mysql_connect("localhost","root","");
mysql_select_db("convertor", $con)
$result = mysql_query("SELECT * from diagram ORDER BY diagramnumber");
if (mysql_num_rows($result) > 0) {
$i==0;
while($row = mysql_fetch_assoc($result)):
?><input type="radio" name="rrr" value="<?=$i++?>"><?=$row['name']?><br><?
endwhile
?><input type="submit" name="znach" value="Построить график" accept="text/xml"><?
?>
</form>
</div>
<div class="content">
<iframe src="drawline.php?rrr=<?$i?>" frameborder="1" height="670" width="1280" name="one" id="one">
</iframe>
</div>
<div class="navigation_footer">
</div>
</div>
</body>
|
|

20.01.2017, 00:21
|
Новичок на форуме
|
|
Регистрация: 19.01.2017
Сообщений: 6
|
|
Разобрался, большое спасибо
|
|
|
|