رفتن به مطلب

گرفتن مقدار radio و قرار دادن آن در یک متغیر php


پست های پیشنهاد شده

سلام و وقت بخیر

میخوام مقدار Radio که انتخاب شده رو بگیرم و داخل یک متغیر php بریزم و بعدا این مقدار رو داخل یک فانکشن استفاده کنم .

ممنون میشم راهنمائی بفرمائید .



<label><input type="radio" name="radio" value="1" checked >Option 1</label><br>
<label><input type="radio" name="radio" value="2">Option 2</label><br>
<label><input type="radio" name="radio" value="3">Option 3</label><br>

$city = //مقدار radio انتخاب شده

if (in_category($city)) {
//.....
{

لینک به ارسال

از تکه کد زیر در حالت فرم پست استفاده شود :


$rdb_value = $_POST['radio'];


$city = $_POST['radio'];

دومی طبق کد مورد نظر شماست

لینک به ارسال

مرسی از پاسختون wallfa جان

این و تست کرده بودم جواب نگرفتم

radio ها داخل فورم نیستن به همین شکلن وقتی صفحه رفرش میشه باید مقدار radio انتخاب شده رو بگیره و داخل $city قرار بده ! فکر کنم در کنار php باید از javascript هم استفاده بشه !

لینک به ارسال

سلام. شما که دسترسی برای ویرایش و اضافه کردن کد دارید چرا رادیو ها رو نمیزارید توی یک تگ فورم ؟

اگر نخواید اون کارو بکنید راهی جز جاوا ندارید و خیلی هم کارتون پیچیده تر میشه.

http://stackoverflow.com/questions/15839169/how-to-get-value-of-selected-radio-button

لینک بالا نحوه گرفتن اطلاعات توسط جاوا از این رادیو ها هاست. بعد با آجاکس ارسالش باید بکنید به یک فایل php.

ولی هر کاری که دارید می کنید مطمئن باشید راهی هست که با فورم ارسالش کنید :)

موفق باشید.

لینک به ارسال

درود بر شما

بله امکان ویرایش هست و میشه داخل فرم قرارش داد ولی نمی خوام عملیات مقدار دهی در دو مرحله صورت بگیره !

یعنی میخوام وقتی صفحه رفرش شد این مقدار دهی صورت بگیره بدون فشردن کلیدی

در اصل این کد رو برای این کاربرد داره که کاربر وارد سایت که میشه شهرشو انتخاب میکنه و بعد من با کد جاوااسکریپتی این radio رو کش میکنم که با هر بار رفرش از بین نره .

وقتی کاربر وارد دسته بندی ای میشه بر اساس شهرش بهش نشون داده میشه . وقتی این عملیات در دو مرحله انجام بشه در اصل برای کاربر دوباره کاریه و رضایت بخش نیست

البته با جستجوهایی که داشتم دیدم که میشه با جاوا اسکریپت این مقدار و گرفت ولی نتونستم به php تبدیلش کنم به جز همین روش ajax که فرمودید .

لینک به ارسال

متاسفانه به ajax آشنایی کاملی ندارم اگه جسارت نباشه میتونید نمونه کد رو بگذارید واسم

در ضمن برای آدرس دهی فایل php برای ارسال ajax در وردپرس میشه به روش زیر عمل کرد یا خیر ؟


url: "<?php bloginfo('template_url'); ?>/ajax.php",

لینک به ارسال

یه چیزایی نوشتم ولی نمیدوم چقدر درسته !


<div id="idcity">
<label><input type="radio" name="ncity" value="1">Option 1</label><br>
<label><input type="radio" name="ncity" value="2">Option 2</label><br>
<label><input type="radio" name="ncity" value="3">Option 3</label><br>
</div>
<script>
var city = document.getElementById('idcity').value;
$.ajax({
type: "POST",
url: "<?php bloginfo('template_url'); ?>/ajax.php",
data: {"ncity" : city},
success: function(){
});
</script>

محتوی ajax.php


<?php
$city = $_POST['ncity'];
?>

ویرایش شده توسط nanook
لینک به ارسال

درست نیست . جی کوئری باید اضافه کنید به سر صفحه و همچنین باید یه اونت هم ارائه کنید و همچنین باید یک آی دی هم به هر تگ بدید

لینک به ارسال

جی کوئری رو به هیدر اضافه کردم در مورد اونت و دادن آی دی به هر تگ میتونید رو همین کد برام یه نمونه مثال بزنید ؟

لینک به ارسال

تو وردپرس شما نمیتونی برای جی کوئری از $ استفاده کنی باید بجاش از jQuery استفاده کنی

به این صورت

<script>
jQuery.ajax({
type: "POST",
url: "<?php bloginfo('template_url'); ?>/ajax.php",
data: {"ncity" : city},
success: function(){
});
</script>

در ضمن شما

var city = document.getElementById('idcity').value;

مقداری برنمیگردونه چون ادرس دهیش اشتباس

شما باید به هر کدوم از رادیوهاتون یک کلاس ثابت بدین مثلا

class='classname'

بعد با سلکتور زیر میتونین مقدارشو بگیرین

jQuery('.classname:checked').val();

این روشی هم که شما استفاده میکنی در بخش کاربری و front end جواب میده

در بخش مدیریت برای استفاده از ajax باید از توابع و هوک خود وردپرس استفاده کنید

لینک به ارسال
  • 2 سال بعد...

سلام

من دیشب دنبال این موضوع بودم ولی به نتیجه ای تو اینترنت نرسیدم.الان که بیدار شدم یه فکر به نظرم رسید که برای این کار جواب داد

برای هر کدام از inputها با  "type="radio یه id خاص بدین

در داخل تگ <script>بعد از load کامل صفحه یه متغییر به اسم temp تعریف کنید که مقدار اولیه اون برابر input ی باشه که checked هست!

بعد برای رویداد ()click هر input ،در داخل function باید temp رو عوض کنی؛بعد هر جا خواستی برا ارسال مقادیر از post.$ استفاده کنی، از temp برا ارسال مقدار input استفاده کن

کدهای javascriptام رو اینجوری نوشتم.چون تازه کارم بهم خورده نگیرید!

<script type="text/javascript">
        $(document).ready(function () {
            var user_post="employee";
            var temp = 0;
          $("#employee_post").click(function () {
                temp = 0;
            })
            $("#manager_post").click(function () {
                temp = 1;
            })
            $("#submit").click(function () {
                if (temp == 0)
                    user_post = "employee";
                else
                    user_post = "manager";
                $.post("../function/login/login.php", {
                   user_post: user_post
                }, function () {
                    })

            })
        })

داخل تگ body هم اینجوری نوشتم

<div>
     <span><input type="radio"  id="employee_post" name="post" checked>Employee</span>
     <span><input type="radio" id="manager_post" name="post">Manager</span>
</div>

تنها مشکل این کدها اینه که با رفرش صفحه مقدار temp مقدار اولیه میشه ولی در صفحه مرورگر کاربر هرکدومو انتخاب کرده بود تغییر نمیکنه(از بین گزینه ها به حالت پیش فرض نمیره)

امیدوارم بدردتون خورده باشه

ویرایش شده توسط برنامه نویس تازه کار
اشتباه در کد نویسی
لینک به ارسال

در html5 خاصیتی اضافه شده بنام form با این خاصیت نیاز نیست المانی حتما داخل فورم باشه بلکه المان رو ارجاع میده به فورم مورد نظر که با اون ارسال بشه

https://www.w3schools.com/html/tryit.asp?filename=tryhtml5_input_form

این مثال رو ببینید کارتون راه می افته

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...