Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Редактирование данных при активном Radio
 
 автор: sirop   (12.01.2008 в 14:10)   письмо автору
 
 

Никак не получается сделать, чтобы при выбраном Radio поле формы было доступно для редактирования, а если Radio не выбран, то данные видны, но для редактирования не доступны.


----------------------------------------
  radio1   |   radio2 |   radio3
----------------------------------------
  форма1  |  форма 2  |  форма3


Пример: если выбрана radio1 , то поля форма1 были доступны и при этом форма2, форма3 были видны, но для редактирования не доступны и, соответственно, так же при выбраном только radio2 либо radio3 ?

   
 
 автор: CrazyAngel   (12.01.2008 в 14:47)   письмо автору
 
   для: sirop   (12.01.2008 в 14:10)
 

хм... а radio1 | radio2 | radio3 - часть этих форм?

   
 
 автор: sirop   (12.01.2008 в 14:52)   письмо автору
 
   для: CrazyAngel   (12.01.2008 в 14:47)
 

Всё это полностью одна форма. Я привел только часть, кроме тех параметров из примера в общей форме будет ещё несколько полей

   
 
 автор: CNT   (12.01.2008 в 15:06)   письмо автору
 
   для: sirop   (12.01.2008 в 14:10)
 

<html>
<head>
<script>
var obj;

onload = function fDisFom ()
{
for (var a = document.forms, j = 0; j < a.length; j++)
for (var b = a [j].elements, i = 0; i < b.length; i++)
   b [i].disabled = (a [j] != obj) ? true : false;
}

function f (x)
{
obj = document.forms ('frm' + x.className.charAt (3));
fDisFom ();
}
</script></head>
<body>
<table cellpadding="0" cellspacing="0">
<tr>
<th><input class="inp1" type="radio" name="Mrad" onmouseup="f (this)">
<th><input class="inp2" type="radio" name="Mrad" onmouseup="f (this)">
<th><input class="inp3" type="radio" name="Mrad" onmouseup="f (this)">
</tr>
<tr>
<td><form name="frm1"><input name="txt1"><br><input name="txt2"><br><input type="submit"></form>
<td><form name="frm2"><input name="txt3"><br><input name="txt4"><br><input type="submit"></form>
<td><form name="frm3"><input name="txt5"><br><input name="txt6"><br><input type="submit"></form>
</tr>
</table>
</body>
</html>

   
 
 автор: sirop   (12.01.2008 в 16:28)   письмо автору
 
   для: CNT   (12.01.2008 в 15:06)
 

не совсем то, что нужно: у вас получилось 3 отдельные формы.
У меня 1 форма, в которой присутствуют поля по выбору:

<html> 
<head> 
<script> 
var obj; 

onload = function fDisFom () 

for (var a = document.forms, j = 0; j < a.length; j++) 
for (var b = a [j].elements, i = 0; i < b.length; i++) 
   b [i].disabled = (a [j] != obj) ? true : false; 


function f (x) 

obj = document.forms ('frm' + x.className.charAt (3)); 
fDisFom (); 

</script></head> 
<body> 

<form action="" method="post">
<table cellpadding="0" cellspacing="0"> 
 <tr> 
    <td colspan=3>Имя: <input type="text" name="name" value=""> 
 </tr><tr> 
    <td colspan=3>E-Mail: <input type="text" name="email" value=""> 
 </tr><tr> 
    <th colspan=3><br>Выбирете продукцию: 
 </tr><tr> 
    <th><i>Кремы</i> <input class="inp1" type="radio" name="Mrad" onmouseup="f (this)"> 
    <th><i>Шампуни</i> <input class="inp2" type="radio" name="Mrad" onmouseup="f (this)"> 
    <th><i>Гели</i> <input class="inp3" type="radio" name="Mrad" onmouseup="f (this)"> 
 </tr><tr> 
    <td>&nbsp;название:<input name="product"><br> &nbsp; &nbsp; кол-во:<input name="count"> 
    <td>&nbsp;название:<input name="product"><br> &nbsp; &nbsp; кол-во:<input name="count">
    <td>&nbsp;название:<input name="product"><br> &nbsp; &nbsp; кол-во:<input name="count"> 
 </tr><tr>
    <td colspan=3><input type="submit">
 </tr>
</table> 
</form>

</body> 
</html>

   
 
 автор: sirop   (12.01.2008 в 18:20)   письмо автору
 
   для: sirop   (12.01.2008 в 16:28)
 

Сделать эти же поля, меняющиеся при выбраном Select получилось, но нужно, чтобы как раз было доступно для просмотра и тегом Radio, а при выборе - доступно и для редактирования

   
 
 автор: CNT   (12.01.2008 в 18:26)   письмо автору
 
   для: sirop   (12.01.2008 в 16:28)
 

>не совсем то, что нужно: у вас получилось 3 отдельные формы. У меня 1 форма, в которой присутствуют поля по выбору

А весьма трудно понять - что именно вам нужно.
Я точно следовал вашему вопросу - см. выше

----------------------------------------
  radio1   |   radio2 |   radio3
----------------------------------------
  форма1  |  форма 2  |  форма3 


Это кто нарисовал (со словами "форма1", "форма 2", "форма3")? Дед Пихто?

В общем, - на будущее.
Сформулируйте вопрос и задайте его совершенно незнакомому с программированием человеку.
Если не поймёт, то переформулируйте и задайте следующему "первому встречному"... и так до тех пор, пока ЛЮБОМУ не станет ясен смысл вопроса.
Вот тогда и спрашивайте.

А то, блин, рисует три ФОРМЫ, в тексте пишет про три ФОРМЫ, а потом говорит - "не то! Я писал "форма", имея в виду совсем даже не "форму", а хрен знает что. А вы должны были догадаться, о каком именно хрене я думал".

   
 
 автор: sirop   (12.01.2008 в 18:54)   письмо автору
 
   для: CNT   (12.01.2008 в 18:26)
 

Да, первоначальный вопрос получился каламбурно. Вот я оформил html:

<html>  
<head>  
</head>  
<body>  

<form action="" method="post"> 
<table cellpadding="0" cellspacing="0">  
 <tr>  
    <td>Имя: </td><td><input type="text" name="name" value=""></td> 
 </tr><tr>  
    <td>E-Mail:</td><td><input type="text" name="email" value=""></td>  
 </tr>
</table><tr>  
 
    <p><strong>Выбирете продукцию: </strong></p>
    
<table cellpadding="10" cellspacing="0">
      <tr> 
        <td colspan="2" align="center"><i>Кремы</i> <input type="radio" name="product" value=""></td>
        <td colspan="2" align="center"><i>Шампуни</i> <input type="radio" name="product" value=""></td>
        <td colspan="2" align="center"><i>Гели</i> <input type="radio" name="product" value=""></td>
      </tr>
      <tr> 
        <td>название:<br>
          кол-во: </td>
        <td><input name="name_product"><br><input name="count" value=""> </td>
        <td>название:<br>кол-во: </td>
        <td><input name="name_product"><br><input name="count" value=""></td>
        <td>название:<br>кол-во: </td>
        <td><input name="name_product"><br><input name="count" value=""> </td>
      </tr>
   </table>
   <input type="submit">  
</form> 

</body>
</html>


Если в общей форме клиент отмечает пунктик "Кремы", то ему доступны для редактирования соответствующие поля "название" и " кол-во". Такие же поля, но относящиеся к другому продукту, не доступны для редактирования.

Как это можно сделать?

   
 
 автор: CNT   (12.01.2008 в 19:28)   письмо автору
 
   для: sirop   (12.01.2008 в 18:54)
 


<html>  
<head>  
<script>
onload = function f () {Dis (3.1415926)}

function Dis (x)
{
for (var j = 1; j < 4; j++)
with (document)
   {
   getElementById ('td' + j).style.color = (x == j) ? '#000000' : '#c0c0c0';
   getElementById ('in' + j).getElementsByTagName ('input') [0].disabled = (x == j) ? false : true;
   getElementById ('in' + j).getElementsByTagName ('input') [1].disabled = (x == j) ? false : true;
   }
}
</script>

</head>  
<body>  

<form action="" method="post"> 
<table cellpadding="0" cellspacing="0">  
 <tr>  
    <td>Имя: </td><td><input type="text" name="name" value=""></td> 
 </tr><tr>  
    <td>E-Mail:</td><td><input type="text" name="email" value=""></td>  
 </tr>
</table><tr>  
 
    <p><strong>Выбирете продукцию: </strong></p>
    
<table cellpadding="10" cellspacing="0">
      <tr> 
        <td colspan="2" align="center"><i>Кремы</i> <input type="radio" onmouseup="Dis (1)" name="rad"></td>
        <td colspan="2" align="center"><i>Шампуни</i> <input type="radio" onmouseup="Dis (2)" name="rad"></td>
        <td colspan="2" align="center"><i>Гели</i> <input type="radio" onmouseup="Dis (3)" name="rad"></td>
      </tr>
      <tr> 
        <td id="td1">название:<br>кол-во: </td>
        <td id="in1"><input name="product"><br><input name="count"></td>
        <td id="td2">название:<br>кол-во: </td>
        <td id="in2"><input name="product"><br><input name="count"></td>
        <td id="td3">название:<br>кол-во: </td>
        <td id="in3"><input name="product"><br><input name="count"></td>
      </tr>
   </table>
   <input type="submit">  
</form> 

</body>  
</html>

Только лично я у человека, который не знает, как правильно пишется слово "ВЫБЕРИТЕ", ничего покупать бы не стал.

   
 
 автор: sirop   (12.01.2008 в 19:35)   письмо автору
 
   для: CNT   (12.01.2008 в 19:28)
 

CNT, большое спасибо. Это как раз то, что нужно.
Ваши замечания были по существу - моя спешка ни к чему хорошему не привела. Буду внимательнее...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования