16.11.2016, 11:59
|
|
Профессор
|
|
Регистрация: 21.02.2010
Сообщений: 213
|
|
Сгенерировать тект из поля
Доброго времени суток.
Есть 2 поля textarea и одна кнопка button
<textarea></textarea>
<textarea></textarea>
<button>Сгенерировать</button>
Есть шаблон подстановки
Код:
|
INSERT INTO `category` ( `parentid`, `posi`, `name`, `alt_name`) VALUES ('$num1', '$num2', '$name1', '$name2'); |
В первое поле вставляется текст типа: 0|1|BMW|bmw
По нажатию кнопки нужно вставить во второе поле шаблон с подставленными значениями, где разделитель значений "|"
При этом разделитель строк \n (перенос).
Подскажите как реализовать?
|
|
16.11.2016, 13:26
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,215
|
|
Сообщение от karakym
|
как реализовать?
|
Как вариант...
var str='0|1|BMW|bmw';
alert(str.replace(/\|/g,'\n'));
|
|
16.11.2016, 14:08
|
|
Профессор
|
|
Регистрация: 21.02.2010
Сообщений: 213
|
|
<!DOCTYPE html>
<html >
<head>
<meta charset="UTF-8">
<title>SQL Code Category Generator</title>
<link rel="stylesheet" type="text/css" href="css/style.css"/>
</head>
<body>
<textarea class="front" placeholder="Одна категория на одну строку">1|2|QWE|qwe
1|2|ASD|asd
1|2|ZXC|zxc</textarea>
<textarea class="result" placeholder="Здесь будет результат"></textarea>
<button>GENRATE</button>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
$('button').click(function(){
var list = $(".front").val().split("\n");
for (var i = 0, ln = list.length; i < ln; ++i)
var separ = list[i].split("|");
for (var i = 0, ln = separ.length; i < ln; ++i)
$(".result").val("INSERT INTO `category` ( `parentid`, `posi`, `name`, `alt_name`) VALUES ('"+separ[0]+"', '"+separ[1]+"', '"+separ[2]+"', '"+separ[3]+"');");
});
</script>
</body>
</html>
Чет не полностью вышло.
Только последнюю строку выводит, а должен все, построчно.
|
|
16.11.2016, 14:20
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,215
|
|
Сообщение от karakym
|
Чет не полностью вышло.
|
А ты, что из этого
Сообщение от karakym
|
<textarea class="front" placeholder="Одна категория на одну строку">1|2|QWE|qwe
1|2|ASD|asd
1|2|ZXC|zxc</textarea>
|
собираешься получить?
|
|
16.11.2016, 14:21
|
|
Профессор
|
|
Регистрация: 21.02.2010
Сообщений: 213
|
|
<!DOCTYPE html>
<html><head><meta charset="UTF-8">
<title>SQL Code Category Generator</title>
<style>
@import url('https://fonts.googleapis.com/css?family=Cuprum');
body {background: rgb(204,204,204);font-family: 'Cuprum', sans-serif;margin:0;padding:0;}
textarea {font-size: 100%;padding: 0;font-family: 'Cuprum', sans-serif;box-sizing: border-box;text-align: center;border: 0px;border-right: 1px solid #AAA;border-bottom: 1px solid #AAA;width: 50%;height: 90%;position: absolute;resize: none;transition: 0.5s;}
textarea:last-child {border-right: 0px;}
textarea:focus, button:focus {outline: none;}
textarea:hover {background: #EEE;}
button {width: 100%;height: 10%;position: absolute;font-family: 'Cuprum', sans-serif;border: 0px;font-size: 40px;bottom: 0;background: #EEE;}
.front {left:0;}
.result {right:0;}
</style></head><body>
<textarea class="front" placeholder="Одна категория на одну строку">1|2|QWE|qwe
1|2|ASD|asd
1|2|ZXC|zxc</textarea>
<textarea class="result" placeholder="Здесь будет результат"></textarea>
<button>GENRATE</button>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
$('button').click(function(){
var list = $(".front").val().split("\n");
for (var i = 0, ln = list.length; i < ln; ++i)
var separ = list[i].split("|");
for (var i = 0, ln = separ.length; i < ln; ++i)
$(".result").append("INSERT INTO `dle_category` ( `parentid`, `posi`, `name`, `alt_name`) VALUES ('"+separ[0]+"', '"+separ[1]+"', '"+separ[2]+"', '"+separ[3]+"');\n");
});
</script></body></html>
|
|
16.11.2016, 14:26
|
|
Профессор
|
|
Регистрация: 21.02.2010
Сообщений: 213
|
|
Сообщение от ksa
|
А ты, что из этого... ...собираешься получить?
|
Из этого:
Код:
|
0|1|QWE|qwe
0|2|ASD|asd
1|1|ZXC|zxc |
Собираюсь получить это:
Код:
|
INSERT INTO `category` (`parentid`,`posi`,`name`,`alt_name`) VALUES ('0', '1', 'QWE', 'qwe');
INSERT INTO `category` (`parentid`,`posi`,`name`,`alt_name`) VALUES ('0', '2', 'ASD', 'asd');
INSERT INTO `category` (`parentid`,`posi`,`name`,`alt_name`) VALUES ('1', '1', 'ZXC', 'zxc'); |
|
|
16.11.2016, 14:48
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,215
|
|
Сообщение от karakym
|
Собираюсь получить это
|
Вона че!
Как вариант...
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
textarea {
width: 90%;
height: 200px;
}
</style>
<script type='text/javascript'>
$(function(){
$('button').click(function(){
var str = $("#front").val();
var reg=/(\d+)\|(\d+)\|(\S+)\|(\S+)/g;
str=str.replace(reg,"INSERT INTO `category` ( `parentid`, `posi`, `name`, `alt_name`) VALUES ('$1', '$2', '$3', '$4');");
$("#result").val(str);
});
});
</script>
</head>
<body>
<textarea id="front" placeholder="Одна категория на одну строку">1|2|QWE|qwe
1|2|ASD|asd
1|2|ZXC|zxc</textarea>
<textarea id="result" placeholder="Здесь будет результат"></textarea>
<button>GENRATE</button>
</body>
</html>
|
|
16.11.2016, 14:55
|
|
Профессор
|
|
Регистрация: 21.02.2010
Сообщений: 213
|
|
Сообщение от ksa
|
Как вариант...
|
То что нужно! Спасибо.
З.Ы. Какая разница использования class или id в твоем коде?
Я по классах выбираю элементы, при этом я знаю, что на этой страницы дубликатов не будет. А ты ставишь id, почему?
|
|
16.11.2016, 14:58
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,215
|
|
Сообщение от karakym
|
Какая разница использования class или id в твоем коде?
|
ИД для уникальных значений... Классы для целых групп однотипных элементов...
Сообщение от karakym
|
Я по классах выбираю элементы, при этом я знаю, что на этой страницы дубликатов не будет. А ты ставишь id, почему?
|
Если нет дубликатов, зачем классы?
"Классовая" выборка подразумевает целый массив таких элементов... Выборка по ИД показывает уникальность выбора.
|
|
16.11.2016, 15:02
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от karakym
|
$(".result").val("INSERT INTO `category` ( `parentid`, `posi`, `name`, `alt_name`) VALUES ('"+separ[0]+"', '"+separ[1]+"', '"+separ[2]+"', '"+separ[3]+"');");
|
И потом это скармиливается серверу и выполняется на нем?
|
|
|
|