Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вывод данных из формы (Submit) в виде обычного текста (https://javascript.ru/forum/misc/53169-vyvod-dannykh-iz-formy-submit-v-vide-obychnogo-teksta.html)

SibiryachkaT 20.02.2015 14:45

Цитата:

Сообщение от danik.js (Сообщение 357477)
У тя в глазах не рябит?

Нет, у меня не рябит. Мне так удобно и этой мой уровень. Когда руку набью, будет код эдегантней, а пока такое решение и cамое главное в нем, что оно мое. Я не претенцую на золотую медаль за лучший код.

SibiryachkaT 20.02.2015 15:37

А как теперь cделать чтобы значение и elem_1 и elem_2 cохранялялиcь ZeroClipboard. А еcли у меня 20 объектов, которые значения имеют?

И еще на моем компьютере локально в UltraEdit это не работает, а но форуме в ie работает. Может мне библиотек каких не хватает или cкрипты надо cкачать?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 5//EN"
 "http://www.w3.org/TR/html4/strict.dtd">
 <html>
 <title>Example_14_ClipBoard</title>
 <head> 
<script language="javascript" >
	function fun_get_name (mytext){
		var Umytext	=mytext;
			document.write ("User - "+document.form_1.elem_1.value+'<\/br>');
			document.write('<p>'+Umytext+'</p>');	
			document.write('<body><form><input type="button" value="Back" name="back_button" onClick="javascript:history.back(1)"></form></body>');
		}
</script>
</head>
 <body>
 <form name="form_1" action="input_button.htm">
 	Users: 
		 <select class="element select medium" id="elem_1" name="elem_1">
		 <option value="" selected="selected">User0</option>
		 <option value="1">User1</option>
		 <option value="2">User2</option>
		 <option value="3">User3</option>
 		</select>
 <p>
 Text <br />
<textarea id="elem_2" name="elem_2" class="element textarea large">Here is myText</textarea> 
 <br />
  <input class ="button" type="button" id="copy" value="result" onclick="fun_get_name(document.form_1.elem_2.value)"/> 
 <script src="http://zeroclipboard.org/javascripts/zc/v2.2.0/ZeroClipboard.js"></script>
   <script>
	      var client = new ZeroClipboard( document.getElementById('copy') );
	 
	      client.on( 'ready', function(event) {
	        // console.log( 'movie is loaded' );
	 
	        client.on( 'copy', function(event) {
	          event.clipboardData.setData('text/plain', document.form_1.elem_2.value);
	        } );
	 
	        /*client.on( 'aftercopy', function(event) {
	          alert('text is copied: ' + event.data['text/plain']);
	        } ); */
      } );
	</script>
 </p>
 <br />
 </form>
 </body>
 </html>

Safort 20.02.2015 15:54

Цитата:

Сообщение от SibiryachkaT (Сообщение 357498)
Нет, у меня не рябит. Мне так удобно и этой мой уровень. Когда руку набью, будет код эдегантней, а пока такое решение и cамое главное в нем, что оно мое. Я не претенцую на золотую медаль за лучший код.

Руку набивать нужно сразу. Ведь согласись, это:
var sel = document.getElementById('elem_2');
   sel.onchange = function() {
        if (document.form_1.elem_1.value==1 && document.form_1.elem_2.value==1) {
            document.form_1.elem_3.value="Prio 1"; 
            document.form_1.elem_3.readonly="true";
            }
        else if (document.form_1.elem_1.value==1 && document.form_1.elem_2.value==2) {
            document.form_1.elem_3.value="Prio 2"; 
            document.form_1.elem_3.readonly="true";
            }  
        else if (document.form_1.elem_1.value==1 && document.form_1.elem_2.value==3) {
            document.form_1.elem_3.value="Prio 3"; 
            document.form_1.elem_3.readonly="true";
            }      
        else if (document.form_1.elem_1.value==2 && document.form_1.elem_2.value==1) {
            document.form_1.elem_3.value="Prio 2"; 
            document.form_1.elem_3.readonly="true";
            }  
        else if (document.form_1.elem_1.value==2 && document.form_1.elem_2.value==2) {
            document.form_1.elem_3.value="Prio 3"; 
            document.form_1.elem_3.readonly="true";
            }  
        else if (document.form_1.elem_1.value==2 && document.form_1.elem_2.value==3) {
            document.form_1.elem_3.value="Prio 4"; 
            document.form_1.elem_3.readonly="true";
            }      
        else if (document.form_1.elem_1.value==3 && document.form_1.elem_2.value==1) {
            document.form_1.elem_3.value="Prio 3"; 
            document.form_1.elem_3.readonly="true";
            }  
        else if (document.form_1.elem_1.value==3 && document.form_1.elem_2.value==2) {
            document.form_1.elem_3.value="Prio 4"; 
            document.form_1.elem_3.readonly="true";
            }  
        else if (document.form_1.elem_1.value==3 && document.form_1.elem_2.value==3) {
            document.form_1.elem_3.value="Prio 4"; 
            document.form_1.elem_3.readonly="true";
            }  
   }

менее читабельно чем это:
var sel = document.getElementById('elem_2');
sel.onchange = function() {

  var elem_1 = document.form_1.elem_1;
  var elem_2 = document.form_1.elem_2;
  var elem_3 = document.form_1.elem_3;

  if (elem_1.value == 1 && elem_2.value == 1) {
    elem_3.value = "Prio 1"; 
    elem_3.readonly = "true";
  }
  else if (elem_1.value == 1 && elem_2.value == 2) {
    elem_3.value = "Prio 2"; 
    elem_3.readonly = "true";
  }  
  else if (elem_1.value == 1 && elem_2.value == 3) {
    elem_3.value = "Prio 3"; 
    elem_3.readonly = "true";
  }      
  else if (elem_1.value == 2 && elem_2.value == 1) {
    elem_3.value = "Prio 2"; 
    elem_3.readonly = "true";
  }  
  else if (elem_1.value == 2 && elem_2.value == 2) {
    elem_3.value = "Prio 3"; 
    elem_3.readonly = "true";
  }  
  else if (elem_1.value == 2 && elem_2.value == 3) {
    elem_3.value = "Prio 4"; 
    elem_3.readonly = "true";
  }      
  else if (elem_1.value == 3 && elem_2.value == 1) {
    elem_3.value = "Prio 3"; 
    elem_3.readonly = "true";
  }  
  else if (elem_1.value == 3 && elem_2.value == 2) {
    elem_3.value = "Prio 4"; 
    elem_3.readonly = "true";
  }  
  else if (elem_1.value == 3 && elem_2.value == 3) {
    elem_3.value = "Prio 4"; 
    elem_3.readonly = "true";
  }  
}

danik.js 20.02.2015 15:55

Цитата:

Сообщение от SibiryachkaT
А как теперь cделать чтобы значение и elem_1 и elem_2 cохранялялиcь ZeroClipboard

Блин, ты че строки соединять не умеешь что ли?
str3 = str1 + str2;

danik.js 20.02.2015 16:11

Фигня!
<form name="form_1" action="">
    Combobox 1: Ungency
 <select class="element select medium" id="elem_1" name="elem_1">
 <option value="" selected="selected"></option>
 <option value="1">System does not work</option>
 <option value="2">Critical bugs</option>
 <option value="3">Small problem</option>
 </select>
   
 <br />
  Combobox 2: Impact    
 <select class="element select medium" id="elem_2" name="elem_2">
 <option value="" selected="selected"></option>
 <option value="1">all Users</option>
 <option value="2">lot of user</option>
 <option value="3">Individual user</option>
 </select>
  
  <br />
  Textfield: Priorization
 <input id="elem_3"  name="elem_3" class="element select medium" type="text" value="" readonly />
<script>
var sel = document.getElementById('elem_2');
sel.onchange = function() {
  var elem_1 = document.form_1.elem_1;
  var elem_2 = document.form_1.elem_2;
  var elem_3 = document.form_1.elem_3;

  var ungency = elem_1.value;
  var impact = elem_2.value;

  if (!ungency || !impact)
    return;

var priorityMatrix = [
    [1, 2, 3],
    [2, 3, 4],
    [3, 4, 4]
];

var priority = priorityMatrix[ungency - 1][impact - 1];

elem_3.value = "Prio " + priority;

}
</script>

danik.js 20.02.2015 16:13

:dance:
<form name="form_1" action="">
    Combobox 1: Ungency
 <select class="element select medium" id="elem_1" name="elem_1">
 <option value="" selected="selected"></option>
 <option value="1">System does not work</option>
 <option value="2">Critical bugs</option>
 <option value="3">Small problem</option>
 </select>
    
 <br />
  Combobox 2: Impact   
 <select class="element select medium" id="elem_2" name="elem_2">
 <option value="" selected="selected"></option>
 <option value="1">all Users</option>
 <option value="2">lot of user</option>
 <option value="3">Individual user</option>
 </select>
   
  <br />
  Textfield: Priorization
 <input id="elem_3"  name="elem_3" class="element select medium" type="text" value="" readonly />
<script>
var sel = document.getElementById('elem_2');
sel.onchange = function() {
  var elem_1 = document.form_1.elem_1;
  var elem_2 = document.form_1.elem_2;
  var elem_3 = document.form_1.elem_3;
 
  var ungency = elem_1.value|0;
  var impact = elem_2.value|0;
 
  if (!ungency || !impact)
    return;
 
var priority = Math.min(ungency + impact - 1, 4);
 
elem_3.value = "Prio " + priority;
 
}
</script>

danik.js 20.02.2015 16:24

Итого, все умещается в 15 строчек :victory:
<form name="form_1" action="">
    Combobox 1: Ungency
 <select class="element select medium" id="elem_1" name="elem_1">
 <option value="" selected="selected"></option>
 <option value="1">System does not work</option>
 <option value="2">Critical bugs</option>
 <option value="3">Small problem</option>
 </select>
     
 <br />
  Combobox 2: Impact  
 <select class="element select medium" id="elem_2" name="elem_2">
 <option value="" selected="selected"></option>
 <option value="1">all Users</option>
 <option value="2">lot of user</option>
 <option value="3">Individual user</option>
 </select>
    
  <br />
  Textfield: Priorization
 <input id="elem_3"  name="elem_3" class="element select medium" type="text" value="" readonly />
<script>
var form = document.form_1;
form.onchange = function() {
  var ungency = form.elem_1.value|0;
  var impact = form.elem_2.value|0;
  if (!ungency || !impact)
    return;
  var priority = Math.min(ungency + impact - 1, 4);
  form.elem_3.value = "Prio " + priority;
};
form.elem_1.onchange = function() {
  if (!this.value) {
    form.elem_2.value = '';
    form.elem_3.value = '';
  }
};
</script>


Часовой пояс GMT +3, время: 11:32.