2010-10-16 1 views
0

У меня есть текстовое поле ввода.как передать значение входного элемента в javascript после urlencoding с помощью php

В прессе войти, я буду выполнять следующее действие

function doWork(){  
     httpObject = getHTTPObject(); 
     if (httpObject != null) { 
      link = "message.php?nick="+nickName+"&msg="+document.getElementById('msg').value; 
      httpObject.open("GET", link , true); 
      httpObject.onreadystatechange = setOutput; 
      httpObject.send(null); 
     } 
     } 

То, что я хочу, чтобы «UrlEncode» значение.

Как мне это сделать?

ответ

2

Используйте JavaScript функция encodeURIComponent

link = "message.php?nick="+nickName+"&msg="+encodeURIComponent(document.getElementById('msg').value);

+0

в принимающем файле (т.е. message.php здесь), я использую $ _GET [ 'сбщ']. Теперь как сохранить декодированное значение в переменной php? Что-то вроде: $ message = decodeURIComponent ($ _ GET ['msg']) – ptamzz

+0

Не нужно расшифровывать его - PHP будет декодировать его для вас при анализе URL-адреса (или тела запроса, в случае POST) и заполнение переменных запроса. – cHao

+0

Я не уверен в этом. Если я вставляю переменную строку $ _GET ['msg'] в базу данных, то не будет ли она вставлять специальные символы в закодированном формате? благодаря – ptamzz

1

Просто оберните значение с "Побега", как в:

link = "message.php?nick="+nickName+"&msg="+escape(document.getElementById('msg').value); 

 Смежные вопросы

  • Нет связанных вопросов^_^