Jump to content
  • 0

Передать значение checkbox


PesBarbos
 Share

Question

11 answers to this question

Recommended Posts

  • 0

вначале js файл

function open_window(name, image){

var open_window = $('#sender');

var speed = 0;

open_window.hide();

open_window.css('left', ($(window).width()-open_window.width())/2+ 'px');

open_window.css('top', ($(window).height()-open_window.height())/2+ 'px');

html += '<div align="center"><FORM>';

html += '<type="checkbox" name="name1" value="name1"><Br/> <type="checkbox" name="name2" value="name2"><Br/> <type="checkbox" name="name3" value="name3"><Br/> <type="checkbox" name="name4" value="name4"><Br/>';

html += '</FORM></div>';

function send(){

var url = "send.php";

var send = "name1="+$(input:text[name=name1]").val();

send += "&name2="+$("input:text[name=name2]").val();

send += "&name3="+$("input:text[name=name3]").val();

send += "&name4="+$("input:text[name=name4]").val();

var request;

}

потом сам обработчик

<?php

If ($_SERVER['REQUEST_METHOD']=='POST'){

$email = "test@mail.ru";

$name1 = $_POST['name1'];

$name2 = $_POST['name2'];

$name3 = $_POST['name3'];

$name4 = $_POST['name4'];

$name5 = $_POST['name5'];

$subject = "Новое письмо с выбором;

$text = "Выбраны следующие параметры <br /> "

.$name1." Если выбран параметр<br />"

.$name2." Если выбран параметр<br />"

.$name3." Если выбран параметр<br />"

.$name4." Если выбран параметр<br />"

.$name5." Если выбран параметр<br />"

;

if(mail($email, $subject, $text, "Content-Type: text/html; charset=UTF-8")){

$send = true;

}else{

$send = false;

}

}else{

$send = false;

}

echo $send;

?>

Link to comment
Share on other sites

  • 0

у form пропиши method="post" поставь http://htmlbook.ru/html/form/method

а в твоем варианте get (по умолчанию) и поэтому параметр сохраняется в $_GET['bar']

дарю: http://php.net/manual/ru/language.variables.external.php

Edited by parabola
Link to comment
Share on other sites

  • 0

еще раз спасибо за помощь, но не работает.

\думаю вся загвоздка в том что вначале исполняется ява код а потом обработчик.

а как передать значение чекбокса в обработчик не знаю, если ставлю TYPE="text", то все работат на ура

Link to comment
Share on other sites

  • 0

я его не посмотрел

"name1="+$(input:text[name=name1]").val();

кавычки не закрыл и фильтр :text не там и не для чекбоксов

:text для type="text"


var send = "name1=" + $('input[name=name1]:checkbox').val();

input[name=name1] это селектор css

:checkbox это фильтр

думаю стоит начать с хорошей книжки по jquery

http://anton.shevchu...me/jquery-book/

я еще раз посмотрел код, там если честно бред

дело в том что тебе нужно знать отмеченные чекбоксы, а ты их извлекаешь не смотря на то что они отмечены или нет


var send = "name1="+$(input:text[name=name1]").val();
send += "&name2="+$("input:text[name=name2]").val();
send += "&name3="+$("input:text[name=name3]").val();
send += "&name4="+$("input:text[name=name4]").val();

где ты взял весь этот скрипт?

там воопще отправляется get а в php ты извлекаешь post

Edited by parabola
Link to comment
Share on other sites

  • 0

Большое спасибо, Заработало!!!

var send = "name1=" + $('input[name=name1]:checkbox').val();

ЕЩЕ РАЗ СПАСИБО, ДВА ДНЯ СИДЕЛ МУЧАЛСЯ

теперь надо додумать как сделать чтобы оно не отправляло все значения чекбоксов :)

Edited by PesBarbos
Link to comment
Share on other sites

  • 0
Передается только первый checkbox. Подскажете в чем дело?
 
HTML
<form method="post" action="sender.php">
<input type="checkbox" name="acc" value="on">бухгалтерия<br>
<input type="checkbox" name="man" value="on">отдел продаж<br>
<input type="checkbox" name="inr" value="on">отдел закупок<br>
<input type="submit" name="submit" value="Отправить">
</form>
 

PHP

<?
 if ($_POST['acc'] == "on") {
   echo "Бухгалтерия";
   }
if ($_POST['man'] == "on") {
   echo "Продажи";
   }
if ($_POST['inr'] == "on") {
   echo "Закупки";
   }
?>
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy