2017-08-27 17 views
1

Es arbeitete in JSFiddle, aber nicht in Notepad ++. Warum ? Nur die erste Schaltfläche ist bearbeitet, aber nicht die zweite Schaltfläche. Ich habe versucht, die ID zu ändern, um es einzigartig zu machen, aber es funktioniert auch nicht. versuchte auch die Klasse auch nicht funktioniert. Ist hier etwas falsch? kann mir jemand helfen ? brauche wirklich jemanden, der helfen kann, das zu lösen. Vielen Dank im VorausIch habe eine Schaltfläche hier und versuchen Sie es in Jdfiddle und es funktioniert, aber in HTML ist es nicht

JS Code:

function getDate() { 

    var sd = document.getElementById('start_date').value; 
    var d = document.getElementById('duration').value; 




    var date = new Date(sd); 
    var newdate = new Date(date); 
    var durations = parseInt(d); 

    newdate.setDate((newdate.getDate() + durations)-1); 


    var dd = newdate.getDate(); 
    var mm = newdate.getMonth()+1; 
    var y = newdate.getFullYear(); 

    var someFormattedDate = y + '-' + mm + '-' + dd; 
    document.getElementById('end_date').value = someFormattedDate; 




} 

PHP CODE:

& sme_id = & pc_id =“enctype = "multipart/form-data">

<tr> 
    <th style="font-family:century gothic"><strong><font color="black">Major</font></strong></td> 
    <th style="font-family:century gothic"><strong><font color="black">Stage</font></strong></td> 
    <th style="font-family:century gothic"><strong><font color="black">Task</font></strong></td> 
    <th style="font-family:century gothic"><strong><font color="black">Task Mark</font></strong></td> 
    <th style="font-family:century gothic"><strong><font color="black">Marking</font></strong></td> 
    <th style="font-family:century gothic"><strong><font color="black">Destination Marking</font></strong></td> 
    <th style="font-family:century gothic"><strong><font color="black">Days</font></strong></td> 
    <th style="font-family:century gothic"><strong><font color="black">Duration</font></strong></td> 
    <th style="font-family:century gothic"><strong><font color="black">Start</font></strong></td> 
    <th style="font-family:century gothic"><strong><font color="black">Finish</font></strong></td> 
    <th></th> 
</tr> 
</thead> 
<tbody> 
<? 
    //GET DATA FROM PROJECT_SCHEDULE 
    /*$sql ="SELECT task_name,task_mark,marking,destination_marking,start_date,end_date FROM project_detail_new 
      WHERE stage_id='1'";*/ 

    /*$sql = "SELECT ps.ps_id,ps.pc_id,ps.major_id,pms.major_name,ps.stage_id,psl.stage_name,ps.task_id,pst.task_name, 
      ps.task_mark,ps.marking,ps.destination_marking,ps.days,ps.duration,ps.start_date,ps.end_date,ps.sys_id,ps.agency_id 
      FROM project_schedule ps 
      LEFT JOIN project_major_stage pms 
      ON ps.major_id=pms.major_id 
      LEFT JOIN project_stage_list psl 
      ON ps.stage_id=psl.stage_id 
      LEFT JOIN project_stage_task pst 
      ON ps.task_id=pst.task_id 
      WHERE ps.pc_id='$pc_id'";*/ 
    $sql= "SELECT DISTINCT(ps.major_id),pms.major_name 
      FROM project_schedule ps 
      LEFT JOIN project_major_stage pms 
      ON ps.major_id=pms.major_id 
      WHERE ps.pc_id='$pc_id' "; 

    $select = mysql_query($sql); 
    $i= 1; 
    while($list =mysql_fetch_array($select)) 
    { 

     $major_name=$list['major_name']; 
     $major_id=$list['major_id']; 
?> 
<tr> 
    <td style ="font-family:century gothic"colspan="12"><strong><font color="black"><?echo $list['major_name'];?></font></strong></td> 
</tr> 

<? 
    $sqla= "SELECT DISTINCT (ps.stage_id),psl.stage_name,pms.major_name 
      FROM project_schedule ps 
      LEFT JOIN project_stage_list psl 
      ON ps.stage_id=psl.stage_id 
      LEFT JOIN project_major_stage pms 
      ON ps.major_id=pms.major_id 
      WHERE ps.pc_id=1 AND pms.major_id='$major_id'"; 

    $selecta=mysql_query($sqla); 
    while($lista =mysql_fetch_array($selecta)) 
    { 

     $stage_name=$lista['stage_name']; 
     $stage_id=$lista['stage_id']; 
?> 
<tr> 
<td></td> 
<td style="font-family:centruy-gothic" colspan="10"<strong><font color="black"><?echo $lista['stage_name'];?></font></strong></td> 
</tr> 


<? 
    $sqlb ="SELECT ps.*,pst.task_name,psl.stage_name 
      FROM project_schedule ps 
      LEFT JOIN project_stage_task pst 
      ON ps.task_id=pst.task_id 
      LEFT JOIN project_stage_list psl 
      ON ps.stage_id=psl.stage_id 
      WHERE ps.pc_id=1 AND psl.stage_id='$stage_id'"; 

    $selectb =mysql_query($sqlb); 

    while($listb=mysql_fetch_array($selectb)) 
    { 

     $ps_id=$listb['ps_id']; 
     $task_name=$listb['task_name']; 
     $task_mark=$listb['task_mark']; 
     $marking=$listb['marking']; 
     $destination_marking=$listb['destination_marking']; 
     $days=$listb['days']; 
     $duration=$listb['duration']; 
     $start_date=$listb['start_date']; 
     $end_date=$listb['end_date']; 


?> 

<!----THIS IS THE PHP CODE TO BE USED TO CALCULATE THE END DATE BASED ON START DATE ENTERED AND DURATION PICKED FROM DATABASE--> 
<tr> 
<td></td> 
<td></td> 

<td style="font-family:century-gothic"> 
    <strong> 
    <font color="black"> 
     <?echo $listb['task_name'];?> 


    </font> 
    </strong> 
</td> 

<td> 
    <input type="text" id="task_mark1" class="task_mark" name="task_mark" value="<? echo $listb['task_mark'];?>" /> 
</td> 

<td> 
    <input type="text" id="marking1" class="marking" name="marking" value="<? echo $listb['marking'];?>" /> 
</td> 

<td> 
    <input type="text" id="destination_marking1" class="destination_marking" name="destination_marking" value="<? echo $listb['destination_marking'];?>" /> 
</td> 

<td> 
    <input type="text" id="days1" class="days" name="days" value="<? echo $listb['days'];?>" /> 
</td> 

<td> 
    <input type="text" id="duration1" class="duration" name="duration" value="<? echo $listb['duration'];?>" /> 
</td> 

<td> 
    <input type="text" id="start_date1" class="start_date" name="start_date" value="<? echo $listb['start_date'];?>" /> 
</td> 

<td> 
    <input type="text" id="end_date1" class="end_date" name="end_date" value="<? echo $listb['end_date'];?>" /> 
</td> 

<td align="center"> 

    <input type="button" id ="btn1" value="GENERATE" name="action" class ="submit-green" onclick="getDate(this.id)"/> 

</td> 

</tr> 

<!---------------------------------------------------------------------------------------------------------------------------------------> 
<td> 
    <input type="text" id="task_mark2" class="task_mark" name="task_mark" value="<? echo $listb['task_mark'];?>" /> 
</td> 

<td> 
    <input type="text" id="marking2" class="marking" name="marking" value="<? echo $listb['marking'];?>" /> 
</td> 

<td> 
    <input type="text" id="destination_marking2" class="destination_marking" name="destination_marking" value="<? echo $listb['destination_marking'];?>" /> 
</td> 

<td> 
    <input type="text" id="days2" class="days" name="days" value="<? echo $listb['days'];?>" /> 
</td> 

<td> 
    <input type="text" id="duration2" class="duration" name="duration" value="<? echo $listb['duration'];?>" /> 
</td> 

<td> 
    <input type="text" id="start_date2" class="start_date" name="start_date" value="<? echo $listb['start_date'];?>" /> 
</td> 

<td> 
    <input type="text" id="end_date2" class="end_date" name="end_date" value="<? echo $listb['end_date'];?>" /> 
</td> 

<td align="center"> 

    <input type="button" id ="btn2" value="GENERATE" name="action" class ="submit-green" onclick="getDate(this.id)"/> 

</td> 

</tr> 
<? 
    }}} 
?> 

<tr> 
    <td colspan=5 align="center"><input class="submit-green" type="submit" value="Save" /></td>  
</tr> 
</form> 
+0

'ts in JSFiddle gearbeitet, aber nicht in Notepad ++' weil Notepad ++ kein –

+0

Web-Browser ist, wie zu lösen, dass ? –

+0

Es funktioniert nicht, da es doppelte IDs gibt und sie für jedes Element eindeutig sein sollen. Möglicherweise möchten Sie Ihren HTML-Code in Ihrer Frage korrigieren, um die Elemente mit unterschiedlichen IDs zu unterscheiden. – Nicholas

Antwort

0

function getDate(id) { 
 
    id = id.match(/\d+/); 
 
    var sd = document.getElementById('start_date'+ id).value; 
 
    var d = document.getElementById('duration' + id).value; 
 
    var date = new Date(sd); 
 
    var newdate = new Date(date); 
 
    var durations = parseInt(d); 
 
    newdate.setDate((newdate.getDate() + durations)-1); 
 
    var dd = newdate.getDate(); 
 
    var mm = newdate.getMonth()+1; 
 
    var y = newdate.getFullYear(); 
 
    var someFormattedDate = y + '-' + mm + '-' + dd; 
 
    document.getElementById('end_date' + id).value = someFormattedDate; 
 
}
<table> 
 
    <thead> 
 
    <tr> 
 
     <th style="font-family:century gothic"> 
 
     <strong><font color="black">Major</font></strong></th> 
 
     <th style="font-family:century gothic"><strong><font color="black">Stage</font></strong></th> 
 
     <th style="font-family:century gothic"><strong><font color="black">Task</font></strong></th> 
 
     <th style="font-family:century gothic"><strong><font color="black">Task Mark</font></strong></th> 
 
     <th style="font-family:century gothic"><strong><font color="black">Marking</font></strong></th> 
 
     <th style="font-family:century gothic"><strong><font color="black">Destination Marking</font></strong></th> 
 
     <th style="font-family:century gothic"><strong><font color="black">Days</font></strong></th> 
 
     <th style="font-family:century gothic"><strong><font color="black">Duration</font></strong></th> 
 
     <th style="font-family:century gothic"><strong><font color="black">Start</font></strong></th> 
 
     <th style="font-family:century gothic"><strong><font color="black">Finish</font></strong></th> 
 
     <th></th> 
 
    </tr> 
 
    </thead> 
 
    <tbody> 
 
    <? 
 
//GET DATA FROM PROJECT_SCHEDULE 
 
/*$sql ="SELECT task_name,task_mark,marking,destination_marking,start_date,end_date FROM project_detail_new 
 
WHERE stage_id='1'";*/ 
 

 
/*$sql = "SELECT ps.ps_id,ps.pc_id,ps.major_id,pms.major_name,ps.stage_id,psl.stage_name,ps.task_id,pst.task_name, 
 
ps.task_mark,ps.marking,ps.destination_marking,ps.days,ps.duration,ps.start_date,ps.end_date,ps.sys_id,ps.agency_id 
 
FROM project_schedule ps 
 
LEFT JOIN project_major_stage pms 
 
ON ps.major_id=pms.major_id 
 
LEFT JOIN project_stage_list psl 
 
ON ps.stage_id=psl.stage_id 
 
LEFT JOIN project_stage_task pst 
 
ON ps.task_id=pst.task_id 
 
WHERE ps.pc_id='$pc_id'";*/ 
 
$sql= "SELECT DISTINCT(ps.major_id),pms.major_name 
 
FROM project_schedule ps 
 
LEFT JOIN project_major_stage pms 
 
ON ps.major_id=pms.major_id 
 
WHERE ps.pc_id='$pc_id' "; 
 

 
$select = mysql_query($sql); 
 
$i= 1; 
 
while($list =mysql_fetch_array($select)) 
 
{ 
 

 
$major_name=$list['major_name']; 
 
$major_id=$list['major_id']; 
 
?> 
 
    <tr> 
 
     <td style ="font-family:century gothic" colspan="12"> 
 
     <strong> 
 
      <font color="black"> 
 
      <? echo $list['major_name'];?> 
 
      </font> 
 
     </strong> 
 
     </td> 
 
    </tr> 
 

 
    <? 
 
$sqla= "SELECT DISTINCT (ps.stage_id),psl.stage_name,pms.major_name 
 
FROM project_schedule ps 
 
LEFT JOIN project_stage_list psl 
 
ON ps.stage_id=psl.stage_id 
 
LEFT JOIN project_major_stage pms 
 
ON ps.major_id=pms.major_id 
 
WHERE ps.pc_id=1 AND pms.major_id='$major_id'"; 
 

 
$selecta=mysql_query($sqla); 
 
while($lista =mysql_fetch_array($selecta)) 
 
{ 
 

 
$stage_name=$lista['stage_name']; 
 
$stage_id=$lista['stage_id']; 
 
?> 
 
    <tr> 
 
     <td></td> 
 
     <td style="font-family:centruy-gothic" colspan="10"> 
 
     <strong> 
 
      <font color="black"> 
 
      <?echo $lista['stage_name'];?> 
 
      </font> 
 
     </strong> 
 
     </td> 
 
    </tr> 
 

 

 
    <? 
 
$sqlb ="SELECT ps.*,pst.task_name,psl.stage_name 
 
FROM project_schedule ps 
 
LEFT JOIN project_stage_task pst 
 
ON ps.task_id=pst.task_id 
 
LEFT JOIN project_stage_list psl 
 
ON ps.stage_id=psl.stage_id 
 
WHERE ps.pc_id=1 AND psl.stage_id='$stage_id'"; 
 

 
$selectb =mysql_query($sqlb); 
 

 
while($listb=mysql_fetch_array($selectb)) 
 
{ 
 

 
$ps_id=$listb['ps_id']; 
 
$task_name=$listb['task_name']; 
 
$task_mark=$listb['task_mark']; 
 
$marking=$listb['marking']; 
 
$destination_marking=$listb['destination_marking']; 
 
$days=$listb['days']; 
 
$duration=$listb['duration']; 
 
$start_date=$listb['start_date']; 
 
$end_date=$listb['end_date']; 
 

 

 
?> 
 

 
    <!----THIS IS THE PHP CODE TO BE USED TO CALCULATE THE END DATE BASED ON START DATE ENTERED AND DURATION PICKED FROM DATABASE--> 
 
    <tr> 
 
     <td></td> 
 
     <td></td> 
 

 
     <td style="font-family:century-gothic"> 
 
     <strong> 
 
      <font color="black"> 
 
      <?echo $listb['task_name'];?> 
 
      </font> 
 
     </strong> 
 
     </td> 
 
     <td> 
 
     <input type="text" id="task_mark1" class="task_mark" name="task_mark" value="<? echo $listb['task_mark'];?>" /> 
 
     </td> 
 
     <td> 
 
     <input type="text" id="marking1" class="marking" name="marking" value="<? echo $listb['marking'];?>" /> 
 
     </td> 
 
     <td> 
 
     <input type="text" id="destination_marking1" class="destination_marking" name="destination_marking" value="<? echo $listb['destination_marking'];?>" /> 
 
     </td> 
 
     <td> 
 
     <input type="text" id="days1" class="days" name="days" value="<? echo $listb['days'];?>" /> 
 
     </td> 
 
     <td> 
 
     <input type="text" id="duration1" class="duration" name="duration" value="<? echo $listb['duration'];?>" /> 
 
     </td> 
 
     <td> 
 
     <input type="text" id="start_date1" class="start_date" name="start_date" value="<? echo $listb['start_date'];?>" /> 
 
     </td> 
 
     <td> 
 
     <input type="text" id="end_date1" class="end_date" name="end_date" value="<? echo $listb['end_date'];?>" /> 
 
     </td> 
 
     <td align="center"> 
 
     <input type="button" id ="btn1" value="GENERATE" name="action" class ="submit-green" onclick="getDate(this.id)"/> 
 
     </td> 
 
    </tr> 
 

 
    <!---------------------------------------------------------------------------------------------------------------------------------------> 
 
    <td> 
 
     <input type="text" id="task_mark2" class="task_mark" name="task_mark" value="<? echo $listb['task_mark'];?>" /> 
 
    </td> 
 
    <td> 
 
     <input type="text" id="marking2" class="marking" name="marking" value="<? echo $listb['marking'];?>" /> 
 
    </td> 
 
    <td> 
 
     <input type="text" id="destination_marking2" class="destination_marking" name="destination_marking" value="<? echo $listb['destination_marking'];?>" /> 
 
    </td> 
 
    <td> 
 
     <input type="text" id="days2" class="days" name="days" value="<? echo $listb['days'];?>" /> 
 
    </td> 
 
    <td> 
 
     <input type="text" id="duration2" class="duration" name="duration" value="<? echo $listb['duration'];?>" /> 
 
    </td> 
 
    <td> 
 
     <input type="text" id="start_date2" class="start_date" name="start_date" value="<? echo $listb['start_date'];?>" /> 
 
    </td> 
 
    <td> 
 
     <input type="text" id="end_date2" class="end_date" name="end_date" value="<? echo $listb['end_date'];?>" /> 
 
    </td> 
 
    <td align="center"> 
 
     <input type="button" id ="btn2" value="GENERATE" name="action" class ="submit-green" onclick="getDate(this.id)"/> 
 
    </td> 
 
    </tr> 
 
<? 
 
}}} 
 
?> 
 

 
<tr> 
 
    <td colspan=5 align="center"> 
 
    <input class="submit-green" type="submit" value="Save" /> 
 
    </td>  
 
</tr> 
 
</form>

Sie können es wie folgt tun: Machen Sie alle Ihre IDs für jede Zeile in der Tabelle die Nummer auf dem Ende von 1,2,3 verschieden sein können, zu erhöhen ... etc. Beispiel btn1, btn2, etc. Und dann im HTML-Code statt onclick = "getDate()" zu onclick = "getDate (this.id)" wechseln. Und benutze den untenstehenden JavaScript-Code mit einigen Änderungen an deinem Code.

Der Javascript-Code:

function getDate(id) { 
    id = id.match(/\d+/); 
    var sd = document.getElementById('start_date'+ id).value; 
    var d = document.getElementById('duration' + id).value; 
    var date = new Date(sd); 
    var newdate = new Date(date); 
    var durations = parseInt(d); 
    newdate.setDate((newdate.getDate() + durations)-1); 
    var dd = newdate.getDate(); 
    var mm = newdate.getMonth()+1; 
    var y = newdate.getFullYear(); 
    var someFormattedDate = y + '-' + mm + '-' + dd; 
    document.getElementById('end_date' + id).value = someFormattedDate; 
} 

Der HTML-Code:

<table> 
    <thead> 
    <tr> 
     <td colspan=11 align="center"><input class="submit-green" type="submit" value="Save" /></td> 
    </tr> 
    <tr> 
     <td style="font-family:century gothic"><strong><font color="black">Major</font></strong></td> 
     <td style="font-family:century gothic"><strong><font color="black">Stage</font></strong></td> 
     <td style="font-family:century gothic"><strong><font color="black">Task</font></strong></td> 
     <td style="font-family:century gothic"><strong><font color="black">Task Mark</font></strong></td> 
     <td style="font-family:century gothic"><strong><font color="black">Marking</font></strong></td> 
     <td style="font-family:century gothic"><strong><font color="black">Destination Marking</font></strong></td> 
     <td style="font-family:century gothic"><strong><font color="black">Days</font></strong></td> 
     <td style="font-family:century gothic"><strong><font color="black">Duration</font></strong></td> 
     <td style="font-family:century gothic"><strong><font color="black">Start</font></strong></td> 
     <td style="font-family:century gothic"><strong><font color="black">Finish</font></strong></td> 
    </tr> 
    </thead> 
    <tbody> 
    <tr> 
     <td style="font-family:century gothic" colspan="12"><strong><font color="black">Initial</font></strong></td> 
    </tr> 
    <tr> 
     <td></td> 
     <td style="font-family:century gothic" colspan="11"><strong><font color="black">Prelim</font></strong></td> 
    </tr> 
    <tr> 
     <td></td> 
     <td></td> 
     <td style="font-family:century gothic"><strong><font color="black">Side Rail</font></strong></td> 

     <!----THIS IS THE PHP CODE TO BE USED TO CALCULATE THE END DATE BASED ON START DATE ENTERED AND DURATION PICKED FROM DATABASE--> 
     <td> 
     <input type="text" id="task_mark1" class="task_mark" value="" /> 
     </td> 
     <td> 
     <input type="text" id="marking1" class="marking" value="" /> 
     </td> 
     <td> 
     <input type="text" id="destination_marking1" class="destination_marking" value="" /> 
     </td> 
     <td> 
     <input type="text" id="days1" class="days" value="" /> 
     </td> 
     <td> 
     <input type="text" id="duration1" class="duration" value="" /> 
     </td> 
     <td> 
     <input type="text" id="start_date1" class="start_date" value="" /> 
     </td> 
     <td> 
     <input type="text" id="end_date1" class="end_date" value="" /> 
     </td> 

     <td align="center"> 

     <input type="button" id="btn1" value="GENERATE" class="btnGenerate" onclick="getDate(this.id)" /> 
     </td> 
    </tr> 
    <tr> 
     <td></td> 
     <td></td> 
     <td style="font-family:century gothic"><strong><font color="black">Bina Stor</font></strong></td> 

     <td> 
     <input type="text" id="task_mark2" class="task_mark" name="task_mark" value="" /> 
     </td> 
     <td> 
     <input type="text" id="marking2" class="marking" name="marking" value="" /> 
     </td> 
     <td> 
     <input type="text" id="destination_marking2" class="destination_marking" name="destination_marking" value="" /> 
     </td> 
     <td> 
     <input type="text" id="days2" class="days" name="days" value="" /> 
     </td> 
     <td> 
     <input type="text" id="duration2" class="duration" name="duration" value="" /> 
     </td> 
     <td> 
     <input type="text" id="start_date2" class="start_date" name="start_date" value="" /> 
     </td> 
     <td> 
     <input type="text" id="end_date2" class="end_date" name="end_date" value="" /> 
     </td> 
     <td align="center"> 
     <input type="button" id="btn2" value="GENERATE" class="btnGenerate" onclick="getDate(this.id)" /> 
     </td> 
    </tr> 
    <tr> 
     <td colspan=5 align="center"><input class="submit-green" type="submit" value="Save" /></td> 
    </tr> 
    </tbody> 
</table> 
+0

angerufen habe, versuchen, mit Daten zu implementieren, die von der Datenbank holen. Aber es funktioniert noch nicht. mache ich irgendwas falsch hier? –

+0

Ich habe meine da oben bearbeitet –

+0

Ihr HTML-Code hatte einige Fehler, da einige Elemente nicht richtig geschlossen waren, auch in der Kopftabelle hatten Sie Elemente geöffnet und mit geschlossen. Ich habe meine Antwort bearbeitet und funktionierendes Code-Snippet eingefügt. Ich habe den PHP-Code so gelassen, wie er ist, versuche jetzt, meinen HTML-Code aus dem Snippet zu verwenden und zu sehen, ob es funktioniert. – adda82

Verwandte Themen