Javascript/ HTML Прехвърляне на формуляр Контроли за изпращане

Опитвам се да създам формуляр с 5 текстови полета, 1 падащо меню и текстова област. Намерението ми е просто; изберете опция от падащото меню (с изключение на първата, т.е. „--Избор--“), въведете съдържанието в текстовото поле и текстовата област. След като щракна върху изпращане, цялата въведена по-горе информация трябва да бъде добавена към конкретни връзки, които са твърдо кодирани във всяка падаща опция.

Моето предизвикателство тук е, че когато щракна върху изпращане, контролите не се предават на новия формуляр, т.е. желаната страница се отваря, но полетата на формуляра не се въвеждат. Проверих кръстосано и потвърдих, че идентификаторите са правилни.. Предполагам, че съм направил грешка при валидирането. Моля, посочете грешката ми..

Javascript код

<script type="text/javascript">

function dpdown(form)
{
    var a="&name="+document.getElementById('name').value;  //textbox
    var b="&job_id="+document.getElementById('job_id').value;//textbox
    var c="&major"+document.getElementById("major').value;//textbox
    var d="&native="+document.getElementById('native').value;//textbox
    var e="&age="+document.getElementById('age').value;//textbox
    var f="&details="+encodeURIComponent(document.getElementById('details').value);//textarea
    var i, counter = 0;
    var ddl = document.getElementById("jobs");//dropdown
    var selectedValue = ddl.options[ddl.selectedIndex].value;
    for(var i=0; i < obj.options.length; i++)
         {   
              if(obj.options[i].selected) // to check if the person has chosen a suitable degree
                    if (selectedValue == "selectdegree")
                     {
                       alert("Please select your correct degree");
                     } 
                     else
                     {
                       ++counter;
                       window.open('https://'+form.elements[i].value+a+b+c+d+e+f,'_blank'); // when the submit button is clicked, all the above fields should get appended to a preset link which has been hardcoded for each degree.
                     }
          }
}

function cleartext()// to clear the form (works correctly)
{
 document.form.details.value='';
}

HTML код

    <form onsubmit="dpdown(this); return false;"> // at the beginning of the form
'
'
'
'
 <input type="submit" value=" Create form" /> // not working
 <input type='reset' value='Clear Ticket' name='reset' onclick="return resetForm(this.form);cleartext();"> // works well

person Hatake Kakashi    schedule 06.08.2014    source източник
comment
Откъде идва obj?   -  person PM 77-1    schedule 06.08.2014
comment
Мисля, че не можете да отваряте нови прозорци на браузъра заедно със стойностите. Така че мисля, че първо трябва да поставите въведени стойности в бисквитки и след това можете да разрешите стойности на страницата.   -  person Dnyanesh    schedule 06.08.2014


Отговори (1)


Моля те провери го.

<html>
<head>
    <script language="javascript">
        function dpdown(){
            var a="&name="+document.getElementById('name').value;  //textbox
            var b="&job_id="+document.getElementById('job_id').value;//textbox
            var c="&major"+document.getElementById('major').value;//textbox
            var d="&native="+document.getElementById('native').value;//textbox
            var e="&age="+document.getElementById('age').value;//textbox
            var f="&details="+encodeURIComponent(document.getElementById('details').value);//textarea
            var i, counter = 0;
            var ddl = document.getElementById("jobs");//dropdown
            var selectedValue = ddl.options[ddl.selectedIndex].value;
            for(var i=0; i < ddl.length; i++)
                 {   
                      if(ddl.options[i].selected) // to check if the person has chosen a suitable degree
                            if (selectedValue == "selectdegree")
                             {
                               alert("Please select your correct degree");
                             } 
                             else
                             {
                               ++counter;
                               value=ddl.options[i].value;
                               window.open('https://'+value+a+b+c+d+e+f,'_blank'); // when the submit button is clicked, all the above fields should get appended to a preset link which has been hardcoded for each degree.
                             }
                  }
        }

        function cleartext()
        {
         document.form.details.value='';
        }
    </script>
</head>
<body>
    <form> 
        <input type="text" id="name"/>
        <input type="text" id="job_id"/>
        <input type="text" id="major"/>
        <input type="text" id="native"/>
        <input type="text" id="age"/>
        <input type="textarea" id="details"/>
        <select id="jobs" >
        <option value="www.google.com">google</option>
        <option value="www.yahoo.com">yahoo</option>
        <option value="www.stackoverflow.com">stackoverflow</option>        
        </select>
        <input type="button" value=" Create form" onclick="dpdown();"/> 
        <input type='reset' value='Clear Ticket' name='reset' onclick="return resetForm(this.form);cleartext();">
    </form>
</body>
</html>
person Kyi Kyi Thant    schedule 06.08.2014
comment
Здравей user3875452, Благодаря за редакциите, кодът изглежда работи частично, въпреки че след премахване на частта „form.elements[i].value“, връзките не се изтеглят, а вместо това всички други полета, които трябва да бъдат добавени към връзките се отварят .. има ли начин да се коригира тази грешка? - person Hatake Kakashi; 06.08.2014
comment
Моето предложение е да присвоите form.elements[i] на променлива и да използвате тази променлива в indow.open.eg. value=www.google.com; window.open('https://'+value+a+b+c+d+e+f,'_blank'); - person Kyi Kyi Thant; 06.08.2014
comment
за да бъда по-конкретна, всяка селекция в падащия списък има връзка, когато щракна върху опция в падащото меню и щракна върху изпращане, връзката трябва да се отвори в нова страница заедно с тези добавени полета... засега само новия раздел се отваря заедно с полетата, но действителната връзка не се отваря .. - person Hatake Kakashi; 06.08.2014
comment
Перфектно работи като чар :) Имам друг въпрос относно падащите менюта.. ако имам друго падащо меню за добавяне, мога ли да използвам същия метод? защото за следващото падащо меню, което добавям, избраната стойност трябва да се покаже в текстово поле .. възможно ли е това? - person Hatake Kakashi; 06.08.2014