2016-11-10 2 views
0

У меня есть форма, в которой я пытаюсь включить кнопку сброса. У меня есть текстовое поле только для чтения, в котором я нажимаю текущий день. Моя цель - включить сброс, чтобы очистить все поля, но оставив поле даты как есть. Я не могу понять, как это сделать. функция, которую я сейчас имею, очистит все.Сбросить поля формы, кроме одного, используя javascript

Это функция, которая у меня есть .:

function confirm_ShortageReset() 
{ 

     var datesValue = document.getElementById('dates').value; 
    alert(datesValue); 
    //return confirm("Are you sure?"); 
    document.getElementById('shortage').reset(); 
document.getElementById('dates').value = datesValue; 
} 

я думал о том, возможно копирование значения даты в другой переменной, и после того, как ясно принял аффекта, иметь дату вновь вошел в по телефону переменная, удерживающая дату. Возможно ли это сделать?

Это также форма, которую у меня есть.

<form action = "drivers.php" target = "drivers.php" method = "post" name = "shortage" id = "shortage" onsubmit = "return validateShortage()"> 
<table id = "main"> 
<tr> 
    <td><table id = "shortages"> 
    <h1> Shortages </h1> 
    <thead> 
    <tr> 
     <th> Date </th> 
     <th> Driver </th> 
     <th> Customer# </th> 
     <th> Invoice# </th> 
     <th> Product Description </th> 
     <th> Size </th> 
     <th> Cases </th> 
     <th> Bottles </th> 
     <th> On Truck </th> 
     <th> CHK Itls </th> 
     <th> Notes </th> 
    </tr> 
    </thead> 

    <tr> 
     <td> <input type = "text" id = "dates" size = "6" name = "dates" readonly = readonly onblur = "checkDate()" > </input></td> 
     <td> 
     <select id = "drivers" name = 'drivers' > 
      <option value = ""> </option> 
      <option value = "driver1"> driver 1 </option> 
     </select></td> 

     <td> <input type = "number" min = "1" max = "99999999" id = "customernum" name = "customernum" > </input> </td> 
     <td> <input type = "number" min = "1" max = "99999999" id = "invoicenum" name = "invoicenum" > </input> </td> 
     <td> <input type = "text" id = "proddes" name = "proddes" > </input> </td> 
     <td> <input type = "text" id = "size" name = "size" > </input> </td> 
     <td> <input type = "number" min = "0" max = "999999" id = "cs" name = "cs" > </input> </td> 
     <td> <input type = "number" min = "0" max = "999999" id = "btls" name = "btls" > </input> </td> 
     <td> <select id="ontruck" name = "ontruck"> 
      <option value = " "> </option> 
      <option value = "Y"> Y </option> 
      <option value = "N"> N </option> 
     </select> </td> 
     <td> <select id = "chkitls" name = "chkitls" > 
       <option value = " "> </option> 
       <option value = "check1"> check1 </option> 

      </select> </td> 
     <td> <input type = "text" Id = "notes" name = "notes"> </input> </td> 


    </tr> 


    </table> 

    <tr> 
     <td><input type = "submit" value = "Submit" name = "mydrivers" > </td> 
     <td><input type = "reset" value = "Clear All" onclick = "return confirm_ShortageReset();"> </input></td> 

    </tr> 

    <tr ><td></td><tr /><tr ><td></td><tr /><tr ><td></td><tr /> 
    <td> <hr /> </td> 
</table> 
</form> 
+0

«я думал о том, возможно копирование значения даты в другую переменную ...», возможно, вы могли бы дать ему шанс и разместить вашу попытку здесь, если вы столкнетесь вопросы. – chazsolo

+0

Можете ли вы попытаться свести свой пример к тому, что необходимо для демонстрации проблемы? Другими словами, [mcve]? Вы можете использовать функцию «Стек-фрагменты» (значок с '<>' на странице), чтобы создать исполняемый фрагмент, что также поможет. –

ответ

0

пожалуйста, проверьте этот код

<script type="text/javascript"> 
function confirm_ShortageReset(){ 
var datesValue = document.getElementById('dates').value; 
    document.getElementById('shortage').reset(); 
document.getElementById("dates").setAttribute('value',datesValue); 
    } 
</script> 
+0

это работает. в чем разница между использованием .value и использованием .setAttribute? Я пытаюсь понять, как и почему это имеет значение. –

+0

Я просто сделал одно тонкое изменение вашего кода, чтобы он работал так, как я думал, что код работает. я удалил вашу строку сброса и добавил 'confirm (« вы уверены »)'. это дает мне диалоговое окно с подтверждением, которое я искал. –

+0

вам может понадобиться знать значение value и setAttribute, а затем просто google. Это простая ссылка, которая поможет вам понять кое-что. http://stackoverflow.com/questions/3953028/any-diffrence-between-element-setattribute-elementattr-element-attr –

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