نمایش نتایج 1 تا 16 از 16

نام تاپیک: دو دکمه سابمیت در یک فرم

  1. #1
    کاربر دائمی آواتار reza.palang
    تاریخ عضویت
    دی 1385
    محل زندگی
    میون یهک جفت کروشه
    پست
    299

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

    سلام به دوستان
    سوالی که داشتم اینه که آیا میشه دو دکمه سابمیت با دو کار برد متفاوت داشته باشیم؟
    اینطوری که اگر اولی رو بزنیم متغیر A رو ارسال کنه و اگر دومی رو بزنیم متغیر B
    و در هر دو حالت متغیر دیگه ارسال نشه یا نال باشه

    اگر راهنمایی کنید ممنون میشم

  2. #2

    نقل قول: دو دکمه سابمیت در یک فرم

    اگر حالتی وجود نداره که با یک فرم و یکی از سابمیت ها همه متغییر ها با هم ارسال شوند بهتره که از فرم های جداگانه و سابمیتهای مختص به خودشون استفاده کنی ولی اگر همچنان اصرار داری از روش خودت استفاده کنی میشه اینکار رو کرد دو تا تابع جاوا بنویس که هر کدام جداگانه در دکمه سابمیت فراخونی بشه و کار تابع این باشد که متغییرهای غیر ضروری رو نال کنه و البته یک فیلد hidden رو هم مقدار یکتایی بده که مشخص بشه کدام یک از سابمیت ها زده شده .
    البته در این روش اگر تابعی داشته باشی که در رویداد onsubmit فرم برای خطایابی فرم تعریف شده باشه احتمالا به مشکل می خوری .

    یک راه دیگه اینه که دکمه ها رو از نوع معمولی بذاری و بعد در تابع جاوا فراخوانی شده از
    document.FormName.submite(); استفاده کنی اینطوری می تونی خطایابی فرم رو هم انجام بدی .

    ( در ضمن این سوال ربطی به php نداشت ;) )

  3. #3
    کاربر دائمی آواتار reza.palang
    تاریخ عضویت
    دی 1385
    محل زندگی
    میون یهک جفت کروشه
    پست
    299

    نقل قول: دو دکمه سابمیت در یک فرم

    نقل قول نوشته شده توسط اعظم مشاهده تاپیک
    اگر حالتی وجود نداره که با یک فرم و یکی از سابمیت ها همه متغییر ها با هم ارسال شوند بهتره که از فرم های جداگانه و سابمیتهای مختص به خودشون استفاده کنی ولی اگر همچنان اصرار داری از روش خودت استفاده کنی میشه اینکار رو کرد دو تا تابع جاوا بنویس که هر کدام جداگانه در دکمه سابمیت فراخونی بشه و کار تابع این باشد که متغییرهای غیر ضروری رو نال کنه و البته یک فیلد hidden رو هم مقدار یکتایی بده که مشخص بشه کدام یک از سابمیت ها زده شده .
    البته در این روش اگر تابعی داشته باشی که در رویداد onsubmit فرم برای خطایابی فرم تعریف شده باشه احتمالا به مشکل می خوری .

    یک راه دیگه اینه که دکمه ها رو از نوع معمولی بذاری و بعد در تابع جاوا فراخوانی شده از
    document.FormName.submite(); استفاده کنی اینطوری می تونی خطایابی فرم رو هم انجام بدی .

    ( در ضمن این سوال ربطی به php نداشت ;) )
    ممنون از راهنماییت
    راه حل شما رو قبلا تست کردم. از لحاظ تئوری شاید درست باشه ولی عملا درست کار نمیکنه
    البته من میخوام هر بار که دکمه سابمیت رده میشه بر اساس 2 یا 3 dropDown menu متغیر هایی فرستاده نشه یا صفر ارسال بشه

    اون قسمت جاوا رو تست نکردم چون هنوز بلد نیستم زیاد

    ** اگه ربطی به php نداره سوال حتمان در مورد بادمجان سوال پرسیدم
    ** سوال رو نمیدومنم اما جواب جاوا اسکریپت بود

  4. #4

    نقل قول: دو دکمه سابمیت در یک فرم

    دقیقا منظورم این بود که این سوال رو باید در بخش html و جاوا اسکریپت میذاشتی .

  5. #5
    کاربر دائمی آواتار I,Nobody
    تاریخ عضویت
    خرداد 1385
    محل زندگی
    کانادا
    پست
    464

    نقل قول: دو دکمه سابمیت در یک فرم

    آقا رضا؛
    دقیقاً همونطور که گفتید، با جاوا اسکریپت می تونید این کار رو انجام بدید.
    ولی اگر میخواید مقادیر دیگه ارسال نشند، یا باید disabled بشن، یا اینکه مستقلاً مقداردهی بشند.
    اگر مشکلی دارید، بگید تا توضیح بیشتر بدم

  6. #6
    کاربر دائمی آواتار narsic
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    دهکده جهانی
    سن
    35
    پست
    1,020

    نقل قول: دو دکمه سابمیت در یک فرم

    در بخش جاوا اسکریپت مطرح کنید

  7. #7
    کاربر دائمی آواتار reza.palang
    تاریخ عضویت
    دی 1385
    محل زندگی
    میون یهک جفت کروشه
    پست
    299

    نقل قول: دو دکمه سابمیت در یک فرم

    نقل قول نوشته شده توسط I,Nobody مشاهده تاپیک
    آقا رضا؛
    دقیقاً همونطور که گفتید، با جاوا اسکریپت می تونید این کار رو انجام بدید.
    ولی اگر میخواید مقادیر دیگه ارسال نشند، یا باید disabled بشن، یا اینکه مستقلاً مقداردهی بشند.
    اگر مشکلی دارید، بگید تا توضیح بیشتر بدم
    ممنون از جوابتون
    disabled شدنشون رو اگه توضیح بدید ممنون میشم
    چون با مقدار دهی مجدد نتونستم کارم رو بکنم. چرا نمیدونم

  8. #8
    کاربر تازه وارد
    تاریخ عضویت
    آذر 1387
    محل زندگی
    Isfahan
    پست
    52

    نقل قول: دو دکمه سابمیت در یک فرم

    you can have two links by <a> tag and send your param by get method and use <button>tag for display a button
    for exam:
    <button><a href=target.php?id=A>link</a></button>

  9. #9

    نقل قول: دو دکمه سابمیت در یک فرم

    یه راه دیگه هم داری :
    هر دو دکمه ها را با یک نام ولی با Value متفاوت بزاز و متد ذو پست قرار بده و سمت سرور چک کنه که اگه اvalue کلید برابر با فلان بود فلان تابع صدا زده بشه:
    کد HTML:
    <Inpute type="submit" name="submit" value="insert">
    <input type="submit" name ="submit" value="Update">
    سمت سرور هم که نام کلید رو به متد پست میدی و چک میکنی Value چیه اونقت میای برحسب value اون عملیات مخصوص رو انجام میدی.

  10. #10

    نقل قول: دو دکمه سابمیت در یک فرم

    نقل قول نوشته شده توسط reza.palang مشاهده تاپیک
    سلام به دوستان
    سوالی که داشتم اینه که آیا میشه دو دکمه سابمیت با دو کار برد متفاوت داشته باشیم؟
    اینطوری که اگر اولی رو بزنیم متغیر A رو ارسال کنه و اگر دومی رو بزنیم متغیر B
    و در هر دو حالت متغیر دیگه ارسال نشه یا نال باشه
    اگر راهنمایی کنید ممنون میشم
    این کار شما اساسا غیر منطقیه . چرا که شما می خواید به جای اینکه خودتون کنترل جریان برنامه رو در اختیار داشته باشید اون رو به فرم واگذار کنید .

    بنده هر چی فکر می کنم لزومی در انجام این کار نمی بینم
    بهتر بفرمایید چه کاری م یخواید انجام بدید . ممکنه راه حل های بسیار بهتری داشته باشه .

  11. #11
    کاربر دائمی آواتار I,Nobody
    تاریخ عضویت
    خرداد 1385
    محل زندگی
    کانادا
    پست
    464

    نقل قول: دو دکمه سابمیت در یک فرم

    اینو همینجا با عجله نوشتم.
    بهت ایده میده :

    <form name=myForm>
    FirstName 1 :<input name=fname1 id=fname1>
    FirstName 2 :<input name=fname2 id=fname2>
    <br>
    <input type=submit value="Send1" onclick='javascript:return send_form(this.value);'>
    <input type=submit value="Send2" onclick='javascript:return send_form(this.value);'>
    </form>
    <script language=javascript>
    function send_form(which){
    if(!which) which='';
    switch(which){
    case "Send1":
    myForm.fname1.disabled=false;
    myForm.fname2.disabled=true;
    return true;
    case "Send2":
    myForm.fname2.disabled=false;
    myForm.fname1.disabled=true;
    return true;
    default :
    return false;
    }

    }
    </script>

  12. #12

    نقل قول: دو دکمه سابمیت در یک فرم

    نقل قول نوشته شده توسط persian_farvahar مشاهده تاپیک
    یه راه دیگه هم داری :
    هر دو دکمه ها را با یک نام ولی با Value متفاوت بزاز و متد ذو پست قرار بده و سمت سرور چک کنه که اگه اvalue کلید برابر با فلان بود فلان تابع صدا زده بشه:
    کد HTML:
    <Inpute type="submit" name="submit" value="insert">
    <input type="submit" name ="submit" value="Update">
    سمت سرور هم که نام کلید رو به متد پست میدی و چک میکنی Value چیه اونقت میای برحسب value اون عملیات مخصوص رو انجام میدی.
    منطورت این کده؟

    $_post['submit']

  13. #13

    نقل قول: دو دکمه سابمیت در یک فرم

    سلام
    من فکر میکنم اگه اسم های دکمه هات متفاوت باشند.مقدار اون که زده شده فرستاده میشه ولی اون یکی نال میشه یا اصلا ست نمی شه.
    میتونی امتحان کنی.

  14. #14

    نقل قول: دو دکمه سابمیت در یک فرم

    دوست عزیز این کد رو نگاه کن

    <pre>
    <?php
    print_r($_POST);
    ?>
    </pre>
    <form method="post" action ="" >
    <input type="text" value="12345" name="t1"/><br />
    <input type="text" value="23456" name="t2"/><br />
    <input type="text" value="34567" name="t3"/><br />
    <input type="text" value="45678" name="t4"/><br />
    <input type="submit" value="test1" name="submit1"/><br />
    <input type="submit" value="test2" name="submit2"/><br />
    </form>

  15. #15

    نقل قول: دو دکمه سابمیت در یک فرم

    من تست کردم وقتی test1 رو کلیک کنی مقدار isset($_POST['submit2']) false است

  16. #16
    کاربر دائمی آواتار reza.palang
    تاریخ عضویت
    دی 1385
    محل زندگی
    میون یهک جفت کروشه
    پست
    299

    نقل قول: دو دکمه سابمیت در یک فرم

    نقل قول نوشته شده توسط kassit مشاهده تاپیک
    این کار شما اساسا غیر منطقیه . چرا که شما می خواید به جای اینکه خودتون کنترل جریان برنامه رو در اختیار داشته باشید اون رو به فرم واگذار کنید .

    بنده هر چی فکر می کنم لزومی در انجام این کار نمی بینم
    بهتر بفرمایید چه کاری م یخواید انجام بدید . ممکنه راه حل های بسیار بهتری داشته باشه .
    (ببخشید که دیر شد)
    مثلا زمانی که من میخوام یک رکورد رو ویرایش کنم اول باید کد شناسه اون رو وارد کنم و بهد اگر اطلاعات موجود بود تکست باکس ها و کلید سابمیت رو نشون بدم. بعد از ویرایش با زدن دکمه دوم عملیات ویرایش انجام بشه

    البته این مشکل با روی هم ریختن راهنمایی های دوستان حل شد. ولی میخوام بدونم چرا غیر منطقی هست؟

    ویک چیز دیگه اینکه با زدن دکمه ENTER زمانی که در حال تایپ در یک تکست باکس هستیم چجوری میشه که مشخص کرد کدوم یک از این دکمه ها عمل کنه؟

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •