Javascript - Действие, основанное на выборе из выпадающего списка и флажка

0

EDIT: РЕШАЕТ:

getMonth() -1, 0);


РЕДАКТИРОВАТЬ: Ниже попытка работает, просто не хватало некоторых переменных от объявления. Теперь мне просто нужно преобразовать следующий раздел, чтобы дать мне последний день предыдущего/текущего месяца

if(option=="LastMonth"){
  datestart = new Date(today.getFullYear(), today.getMonth()-1, 1);
  dateend = new Date(today.getFullYear(), today.getMonth(), 1);
} else if(option=="ThisMonth"){
  datestart = new Date(today.getFullYear(), today.getMonth(), 1);
  dateend = new Date(today.getFullYear(), today.getMonth() + 1, 1);

Надеюсь, что вы достаточно редки для вас, ребята. К сожалению, не так прямо для меня.

У меня есть существующий java-скрипт, который работает с группой флажков, которые у меня есть. Его довольно просто. Если вы выберете флажок и нажмите кнопку отправки, функция javascript откроет ссылку URL-адреса в поле ввода с использованием значения флажка. Если я отметю несколько ящиков и нажимаю "Отправить", все ссылки открыты одновременно. Код работает очень хорошо.

Теперь я хочу включить список Select с диапазонами дат, например, последний месяц, месяц, январь, февраль, март, апрель и декабрь.... Что мне нужно сделать, например, если я выбираю "Последний месяц" "затем отметьте галочкой и отправьте его, чтобы открыть ссылку во входном значении +"? pv0 = "первый день последнего месяца +" & pv1 = "последний день последнего месяца

Пример итоговой полной ссылки понравится: na6.salesforce.com/00O80000004z1VC?pv0=01/01/2014&pv1=01/31/2014

Ссылки, которые у меня есть в поле ввода флажка, такие же, как na6.salesforce.com/00O80000004z1VC

Каждый флажок имеет уникальное значение, однако базовый домен всегда тот же na6.salesforce.com/

Порядок даты должен быть мм/дд/гггг

Вот мой текущий код Javascript (которому мне нужен список выбора, включенный в):

<script type="text/javascript">

function submit()
{
//alert("i am in");
var data = document.forms[0].sfdcbox;
var i;
for (i=0;i<data.length;i++)
 {
if (data[i].checked)
{
window.open(""+data[i].value);
}
}
}

</script>
enter code here

<form method="POST">
<input type="checkbox" name="sfdcbox" value="na6.salesforce.com/00O80000004z0VQ?csv=1"><label>Cases Closed & Avg</label><br/>
<input type="checkbox" name="sfdcbox" value="na6.salesforce.com/00O80000004z0WY?csv=1"><label>Emails Sent</label><br/>
<input type="checkbox" name="sfdcbox" value="na6.salesforce.com/00O80000004z0WO?csv=1"><label>Activities</label><br/>
<input type="checkbox" name="sfdcbox" value="na6.salesforce.com/00O80000004z0XC?csv=1"><label>KB Linking</label><br/>
</form>
<input type="button" value="Run" onclick="submit()">

The Select Field
Select Report Period: 
<select name="sfdcfilter" id="Range" style="width:130px">
<option value="LastMonth">Last Month</option>
<option value="ThisMonth">This Month</option>
<option value="0">January</option>
<option value="1">February</option>
<option value="2">March</option>
<option value="3">April</option>
<option value="4">May</option>
<option value="5">June</option>
<option value="6">July</option>
<option value="7">August</option>
<option value="8">September</option>
<option value="9">October</option>
<option value="10">November</option>
<option value="11">December</option>
</select>

Вот моя неудачная попытка скрипта

<script type="text/javascript">

function submit()
{

var option=document.getElementById('Range').value;
if(option=="LastMonth"){
  datestart = new Date(today.getFullYear(), today.getMonth()-1, 1);
  dateend = new Date(today.getFullYear(), today.getMonth(), 1);
 } else if(option=="ThisMonth"){
 datestart = new Date(today.getFullYear(), today.getMonth(), 1);
 dateend = new Date(today.getFullYear(), today.getMonth() + 1, 1);
    } else {
  if (option > today.getMonth()) { 
    year = today.getFullYear() - 1;
  } else {
    year = today.getFullYear();
  }
  datestart = new Date(year, option, 1);
  dateend = new Date(year, parseInt(option) + 1, 1);
}

start = ('0' + (datestart.getMonth()+1)).slice(-2) + '-' + ('0' + datestart.getDate()).slice(-2) + '-' + datestart.getFullYear();
end =  ('0' + (dateend.getMonth()+1)).slice(-2) + '-' + ('0' + dateend.getDate()).slice(-2) + '-' + dateend.getFullYear();

//alert("i am in");
var data = document.forms[0].sfdcbox;
var i;
for (i=0;i<data.length;i++)
  {
  if (data[i].checked)
    {
    window.open(""+data[i].value + "&pv0=" + start + "&pv1=" + end);
   }
  }
}

</script>
  • 0
    К вашему сведению - все значения флажков содержат "https: // спереди, но моя репутация не позволяет мне публиковать более 2 ссылок
  • 0
    обновил мой запрос .. дата должна быть мм / дд / гг извините
Показать ещё 1 комментарий
Теги:
checkbox

1 ответ

0

Вы можете использовать .value для получения значения <select> и <input>. А потом просто соедините струны, как хотите.

  • 0
    Спасибо за ваш комментарий. Я добавил в моей неудачной попытке работы сценария ..
  • 0
    @ user3436467 что ты получил, результат?
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню