Osavul

Рейтинг
76
Регистрация
23.09.2014
дани мапов:

$("input[type=button]").click(function() {
$(this).closest('form').find(':input','option:selected')
.not(':button, :submit, :reset, :hidden')
.val('')
.removeAttr('checked')
.removeAttr('selected');
});

Почему то не работает этот скрипт :(


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Стартовая страница</title>
<script>
$("input[type=button]").click(function() {
$(this).closest('form').find(':input','option:selected')
.not(':button, :submit, :reset, :hidden')
.val('')
.removeAttr('checked')
.removeAttr('selected');
});
</script>
</head>

<body>
<form action="" id="myform" method="post">
First Name: <input type="text" name="txtFirstName" id="txtFirstName" value="Vasy" /><br />
Last Name: <input type="text" name="txtLastName" id="txtLastName" value="Petrov" /><br />
<br />
<input type="button" value="Очистить">
</form>
</body>
</html>
дани мапов:
Без разницы, в отдельном или еще там где-то. Берите примеры по ссылкам и пробуйте, чтобы готовый пример скопировать, не надо особого умения.

Ну вот пример по ссылке:



$('.reset').on('click', function() {
$(this).closest('form').find('input[type=text], textarea').val('');
});

Этот скрипт я добавляю себе в отдельный файл со JS.

А класс .reset я применяю к кнопке сброса формы в html. Верно?

Js не селен. Как это можно реализовать если у меня JS-скрипты вынесены в отдельный файл. А html - отделен от скриптов?

---------- Добавлено 03.05.2015 в 10:32 ----------

anser06:
обычная кнопка reset.
<INPUT TYPE="RESET" VALUE ="Очистить">

Такой вариант не подойдет, поскольку предустановленные значения VALUE не будут очищаться из полей.

totamon:
http://phpfaq.ru/tpl читать до просветления)

Это стандартный вывод через php. Не решает мой вопрос.

totamon:
вам стоит почитать о существующих системах шаблонов, прежде чем свои изобретать, если вы хотите использовать php в шаблоне зачем теги {teg}?
зачем шаблон в html? делайте php и просто инклюдьте, зачем вообще тогда чтение файла и подстановка переменных? вы все в кучу пытаетесь смешать)

Да Вы правы. Я и пытаюсь полностью разделять php и html. Сделал свой простой шаблонизатор который хорошо справляется с выводом одиночных данных, но когда речь дошла к выводу в html шаблоне массива данных в цикле, тут и возникла проблема.

В смарти это реализовано так например:


{foreach $users as $user}
<li>Номер:{$user->id}</li>
<li>Почта:{$user->email}</li>
{/foreach}

Вот хочу и себе чот-то подобное соорудить. Делаю свой велик, готовые шаблонизаторы не подойдут.

А так как такой вариант еще не смог реализовать решил попробовать стандартный способ вывода php:


<?php foreach ( $users as $user ): ?>
<li>Номер:{$user->id}</li>
<li>Почта:{$user->email}</li>
<?php endforeach; ?>

Но и он теперь не проходит из-за использования в шаблонизаторе функции file_get_contents

---------- Добавлено 09.04.2015 в 22:24 ----------

proksey-net:
На экране вы не увидите НИЧЕГО! Потому что в HTML это просто тег. А если у вас в шаблонах есть PHP-код, то для этого есть функция eval().

Использование eval() води бы небезопасно для сайта?

proksey-net:
А зачем вы так все усложняете?


$template = file_get_contents('index.html');
$repl = "[{teg}]";
$ob1 = '444444444';
$template = preg_replace($repl, $ob1, $template);
print_r($template);


А я бы сделал вообще так:

$template = file_get_contents('index.html');
$repl = "{teg}";
$ob1 = '444444444';
$template = str_replace($repl, $ob1, $template);
print_r($template);

Дело в том что мне также в html шаблоне нужно иногда чтобы размещались php скрипты.

Ну например ввывод переменной <?= $ob1 ?> или более сложнее организовать цикл:


<?php foreach ( $usergroup as $group ): ?>
<li>Номер: <?= $group['id'] ?></li>
<li>Группа: <?= $group['name'] ?></li>
<?php endforeach; ?>

Но в результате никакой вывод при не осуществляется - остается пустое место.

Наверно веной всего функция file_get_contents, которая каким-то образом экранируется php код на html станице 😕

Ок. Спасибо.

Тогда как мне вывести значение перемененной $ob1 в html файле index.html место своего тега {teg}?


$template = file_get_contents('index.html');
$repl = "[{teg}]";

$ob1 = '444444444';
$output = "<?php\n";
$output .= " echo \$ob1;\n";
$output .= "?>";

$template = preg_replace($repl, $output, $template);
print_r($template);

файл index.html


<!DOCTYPE html>
<html>
<head>
<title>Стартовая страница</title>
</head>

<body>

{teg}

</body>
</html>
LEOnidUKG:
Можно и через цикл. Просто вы не умеете :(

А как? Будет очень интересен и этот вариант.

DJ_AlieN:

while(list($k,$v)=each($array){
list($k1,$v1)=split("=",$v);
$newarray[$k1]=$v1;
}


---------- Добавлено 10.03.2015 в 13:43 ----------


while(list($k,$v)=each($array){
list($kk,$vv)=split("=",$v);
$newarray[$kk]=$vv;
}

Спасибо Вам большое!

А я думал это можно через цыкл foreach сделать.

LEOnidUKG:
И что не получилось?

Да что-то не выходит, реализовать.

Перебираю входной массив через foreach, значения элементов проходят через функцию explode с разделителем 'равно'. Получаю новый массив из двух элементов. Создаю новый массив ключом которого является значение первого элемента, а значение - значением 2 элемента.

Но этот код не работает.

1 2345 6
Всего: 51