Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Вызов php -> if onclick (https://javascript.ru/forum/events/40797-vyzov-php-if-onclick.html)

Tampler 20.08.2013 17:06

Вызов php -> if onclick
 
Вопрос такой, есть php:
<?php
$file ="test.txt";
$f_o=fopen($file,"a") or die("невозможно открыть/создать файл");
fwrite($f_o, "1") or die ('Не записал');
$array=file($file);
foreach($array as $string)
fclose($f_o);
?>


Он должен выполняться при клике на html странице, допустим по "ААА", выглядит она так:
<select id="sel_obs" class="detailText">
              <option onclick="javascript:selectControl.unselectAll();"></option>
              <option value="AAA" onclick="javascript:selectControl.unselectAll();selectControl.select(map.getLayer('vectors1').getFeatureById('AAA'));">AAA</option>
              <option value="BBB" onclick="javascript:selectControl.unselectAll();selectControl.select(map.getLayer('vectors1').getFeatureById('BBB'));">BBB</option>        
              <option value="CCC" onclick="javascript:selectControl.unselectAll();selectControl.select(map.getLayer('vectors1').getFeatureById('CCC'));">CCC</option>
            </select>
<td colspan="4" class="bodyText" align="center"><input type="submit" value="Submit"></td>


Как сделать?

И второй вопрос:
Как изменить php, чтобы при каждом новом клике, допустим записано в файл test.txt значение "1", взять это значение и прибавить в нему 1.
В двух словах к записанному значению прибавить единицу?

Второй вопрос не так важен, как первый, но все-таки.

Заранее спасибо.

danik.js 20.08.2013 17:57

Цитата:

Сообщение от Tampler
Как изменить php, чтобы при каждом новом клике, допустим записано в файл test.txt значение "1", взять это значение и прибавить в нему 1.

Берешь значение из файла test.txt (через fread), и прибавляешь к нему 1.

Цитата:

Сообщение от Tampler
Как сделать?

Шли асинхронный запрос. Или отправляй форму на сервер.

Tampler 20.08.2013 18:40

Цитата:

Сообщение от danik.js (Сообщение 268377)
Шли асинхронный запрос. Или отправляй форму на сервер.

На словах я тоже умею)

Вопрос: как?

danik.js 20.08.2013 19:48

var request new XMLHttpRequest();
request.open('POST', 'path/to/script.php');
request.send(null);

Tampler 22.08.2013 18:35

Цитата:

Сообщение от danik.js (Сообщение 268394)
var request new XMLHttpRequest();
request.open('POST', 'path/to/script.php');
request.send(null);

Спасибо большое.

И последний вопрос, как это вставить в каждый onclick?

danik.js 22.08.2013 19:59

Оберни в функцию, вставь эту функцию в <script>, в онклик вписывай только вызов этой функции.

Tampler 25.08.2013 18:51

Цитата:

Сообщение от danik.js (Сообщение 268841)
Оберни в функцию, вставь эту функцию в <script>, в онклик вписывай только вызов этой функции.

Пробовал, не получилось.
Помоги разобраться, что вписать в отдельный скрипт, что сюда и куда:
onclick="javascript:selectControl.unselectAll();selectControl.select(map.getLayer('vectors1').getFeatureById('AAA'));


Буду очень благодарен.

Tampler 25.08.2013 18:52

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

ksa 25.08.2013 19:27

Tampler, с чего ты взял что с такми "знаниями" ты справишся с этой задачей?

Начинай читать книжки по JS... Там и про Ajax будет написано...

Tampler 26.08.2013 11:38

Цитата:

Сообщение от ksa (Сообщение 269256)
Tampler, с чего ты взял что с такми "знаниями" ты справишся с этой задачей?

Начинай читать книжки по JS... Там и про Ajax будет написано...

По-моему для этого, вообще этот форум создан, и все эти темы, для тех у кого мало опыта и кто не тянет в этой области, возможно один человек время тратил на одно, а именно на это (js) у него нет времени, возможно завтра я смогу помочь тем, что я умею.

Но на данный момент, мне необходимо решить данную задачу, для моего сайта.
Я хорошо владею другими языками, но js, ajax у меня хромает, да и времени нет исправлять это дело, а проблему решить надо.

Если поняли, спасибо.


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