Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проверить на вкл java sckript (https://javascript.ru/forum/misc/25537-proverit-na-vkl-java-sckript.html)

strengerst 08.02.2012 15:08

Проверить на вкл java sckript
 
как проверить в php включен ли в веб браузере java script или отключен и что бы через условие if выполнить то или иное действие. Подскажите.:)

Skipp 08.02.2012 15:12

Это шутка?
JavaScript пишется слитно.
$magic = new Skill();
if($magic->telepathy('JavaScript работает?'))
echo 'Работает, я в шоке';


Конечно что-то подобное можно сделать, но, вам самому придётся ваш сервер уведомлять, работает ли js.

А для начала почитайте внимательно в чём основные различия JavaScript и PHP .

Если что-то не понятно могу объяснить:)

strengerst 08.02.2012 15:27

О спасибо, попробую. вопрос не втему в php для проверки регулярного выражения есть функция
preg_match
, а как в java проверить.

Skipp 08.02.2012 15:34

1. Спасибо, вы меня убили:)
Цитата:

а как в java проверить.
2. Не пишите такие гадости больше(По крайней мере в этом форуме), так как Java и JavaScript два разных языка!

Я вам настоятельно советую почитать по внимательнее про разницу между JavaScript и PHP и вообще что такое серверная часть, а что такое клиентская.

strengerst 08.02.2012 15:35

Цитата:

Сообщение от Skipp (Сообщение 156114)
Это шутка?
JavaScript пишется слитно.
$magic = new Skill();
if($magic->telepathy('JavaScript работает?'))
echo 'Работает, я в шоке';


Конечно что-то подобное можно сделать, но, вам самому придётся ваш сервер уведомлять, работает ли js.

А для начала почитайте внимательно в чём основные различия JavaScript и PHP .

Если что-то не понятно могу объяснить:)

Да мне кнопку надо изменить в форме type=button; при вкл javascript,
и type=submit; при выключенном. каак так оргонизовать. без php?
А то я в начале не правильно вопрос задал.

Skipp 08.02.2012 15:36

Ух, ну вы и фантазёр, я боюсь спросить, а зачем вам это?

Думаю вы не в ту степь совсем смотрите, опишите задачу более подробно.

strengerst 08.02.2012 15:39

Код:

Не пишите такие гадости больше(По крайней мере в этом форуме), так как Java и JavaScript два разных языка!
Я пишу в форум по javasckript а не по java. Что тут не ясного.

strengerst 08.02.2012 15:39

А вы не бойтесь.

Skipp 08.02.2012 15:42

Короче, напишите код, и опишите чего вы хотите добиться этим изменением.

strengerst 08.02.2012 15:43

Просто кнопка type="button" при ее нажатии срабатываеет функция javascript, суть которой являеться выявление ошибок при заполнении формы, если ошибки не найдены javasckript меняет type="button" на
type="submit", и пользователь отсылает данные. А если javascript отключен то type="button" так и останиться.
И данные нельзя будет отослать.

strengerst 08.02.2012 15:44

А если javasckript будет отключен то и пользователь не какие данные не отошлет.

так как type="button" не станет type="submit"

strengerst 08.02.2012 15:45

так как type="button" не станет type="submit"

Skipp 08.02.2012 15:47

Эта задача решается совсем другим более простым способом.
Вот например очень лёгкий пример:
<form action="http://yandex.ru/yandsearch" onsubmit="if(document.getElementById('button').value == ''){alert('Заполните поле'); return false}">
<input type="text" id="button" name="text" />
<input type="submit" value="go" />
</form>

strengerst 08.02.2012 16:06

О да работает, ну дело в том что кнопка submit тоже срабатывает и после нажатие на ок на сообщении перекидывает вас дальше а этого быть не должно до испровления ошбок.

Skipp 08.02.2012 16:08

а вы попробуйте не писать ничего в поле и нажмите go

strengerst 08.02.2012 16:12

Да нет я не повашему коду смотрел а ваш код по аналогии себе изменил как и сказали у вас то понятно не перекинет так как не method не action в форме не задано, следовательно и перекидовать то не куда.
А так то понятно что условия вашего кода это то что форме должно быть что то напичатано а если оно пустое то срабатывает alert.

strengerst 08.02.2012 16:13

А если есть и method и action то после нажатие ок, пользователь перейдходит на другую страницу.

Skipp 08.02.2012 16:18

Цитата:

Сообщение от strengerst
у вас то понятно не перекинет так как не method не action в форме не задано, следовательно и перекидовать то не куда.

Как же? Вообще форма отправляется, даже если method или action не указывать, по умолчанию в action указывает на самого себя, а в method стоит get

Подправил пример выше, посмотрите.

strengerst 08.02.2012 16:24

Да действительно вы правы, а у меня почему то перекидывает, счас попробую разобраться. Может это потому что я ошибки вывоже чере
innerHTML а не через alert?

Skipp 08.02.2012 16:26

Нет наверное потому что вы забыли дописать
return false;

strengerst 08.02.2012 17:09

Вы правы, return false помог. спасибо за помощь:yes:

strengerst 08.02.2012 17:25

<form action="http://yandex.ru/yandsearch" onsubmit="onblur();">
<input type="text" id="button" name="text" />
<input type="submit" value="go" />
</form>


function onblur(){
	if(document.getElementById('button').value ==''){alert('Заполните поле'); return false}}
А так не работает почему? у меня в коде гдето так написано.

Skipp 08.02.2012 17:28

А вот так?
<script type="text/javascript">
function onb(){
    if(document.getElementById('button').value ==''){alert('Заполните поле'); return false}}
</script>
<form action="http://yandex.ru/yandsearch" onsubmit="return onb();">
<input type="text" id="button" name="text" />
<input type="submit" value="go" />
</form>


Надеюсь поймёте почему не работало:)
alert(typeof onblur);

strengerst 08.02.2012 17:32

Проверил как вы написали не работает.

strengerst 08.02.2012 17:33

Перекидывает на yandex/

strengerst 08.02.2012 17:34

Ураааааааааааа работает.

strengerst 08.02.2012 17:35

return поставили перефункцией?

strengerst 08.02.2012 17:40

я уверен что return, теперь и код заработал большое спасибо.:victory:

strengerst 08.02.2012 17:45

ну только не знаю по чему return должен стоять перед функцией.
Ну в смысле не понимаю зачем он там нужен?

strengerst 08.02.2012 17:50

return предназначен для возращения значению из функции в котором мы заведома нуждаемся для дальнейшей работы с этим значением, я так думал.

poorking 08.02.2012 17:52

strengerst,
Потому что когда вы инлайново задаете обработчики событий, то есть в атрибутах элемента, то вы, как бы пишете тот код, что внутри функции-обработчика, и чтобы предотвратить стандартное действие - надо вернуть false. А если вы просто напишете onsubmit = "onb()", то этот код неявно вернет undefined, а не false, несмотря на то что onb возвращает false.

Лучше вешать обработчики в коде javascript-а. Тогда не будет таких непоняток. К тому же у вас будет доступ ко объекту Event, который передается первым аргументом в функцию-обработчик (В IE он глобален)

document.getElementsByTagName("form")[0].onsubmit = onb;

И ничего лишнего в верстке

strengerst 08.02.2012 19:04

Спасибо ценная информация не знал что так можно.
Ну хотел спросить это только в то в случае когда нам нужно возвратить false или true , тогда мы прописывае перед функцией в обрабочике значение return false; или return true. ну как в коде.
onsubmit="return onb();


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