Сценарий:
Я создал фильтрацию с использованием IF ELSE
где, когда пользователь нажимает BOX A AND BOX B … Затем, предполагая, что BOX A уже заполнен, после того, как пользователь нажал кнопку «SAVE BUTTON», появится сообщение с подтверждением о том, что … » Коробка, которую вы выбрали, уже заполнена. Вы хотите сохранить другие предметы? "
Вот мой код:
<?php //else if...... else if($box== "BOX A" && $row[item] == "100") { echo "<script type='text/javascript'>"; echo "var r=confirm('The Box you chosen is already full. Do you want to save the other items?')"; echo "if (r==true){"; echo "alert('You pressed OK!')}"; echo "else{"; echo "alert('You pressed Cancel!')}"; echo "</script>"; } ?>
У меня проблема с кодом, и когда я пытаюсь проследить его, используя echo "enter here";
он всегда останавливается после того, как программа прочитает этот код
echo "<script type='text/javascript'>";
Затем он подпрыгнет здесь:
echo "</script>";
РЕЗУЛЬТАТ:
его не отображает всплывающее сообщение … Так что все, что мне нужно, это отобразить всплывающее сообщение, и я не знаю, почему, почему его не отображать … Нет кнопки для отображения подтверждения сообщения … Это будет просто пропустите, если еще что-то, а затем оно будет запрашиваться, если пользователь хочет продолжить сохранение, если один из ящиков уже заполнен, если он не нажмет на отмену …
ПРИМЕЧАНИЕ. Я только начинающий для PHP и Javascript.
Заранее спасибо.
Это потому, что вы начинаете новый <?
/ <?php
tag внутри другого
else if($box== "BOX A" && $row[item] == "100") { <?php echo "<script type='text/javascript'>"; echo "var r=confirm('The Box you chosen is already full. Do you want to save the other items?')"; echo "if (r==true){"; echo "alert('You pressed OK!')}"; echo "else{"; echo "alert('You pressed Cancel!')}"; echo "</script>"; ?> }
должно быть
else if($box== "BOX A" && $row[item] == "100") { echo "<script type='text/javascript'>"; echo "var r=confirm('The Box you chosen is already full. Do you want to save the other items?')"; echo "if (r==true){"; echo "alert('You pressed OK!')}"; echo "else{"; echo "alert('You pressed Cancel!')}"; echo "</script>"; }
Но лично я думаю
else if($box== "BOX A" && $row[item] == "100") { ?> <script> var r=confirm('The Box you chosen is already full. Do you want to save the other items?')"; if (r==true) { alert('You pressed OK!'); } else { alert('You pressed Cancel!'); } </script> <? }
намного чище и читабельнее. Храните javascript вне PHP, не повторяйте его, если вы можете его избежать. Это может быть трудно обследовать через 6 месяцев.
Или вы можете сделать что-то подобное.
<?php //some PHP code if($box== "BOX A" && $row[item]== 100) { ?> <script type='text/javascript'> var r=confirm('The Box you chosen is already full. Do you want to save the other items?'); if (r==true){ alert('You pressed OK!')} else{ alert('You pressed Cancel!')} </script> <?php } ?>
Я предполагаю, что вы поставили php-тег и оператор if перед этой строкой
else if($box== "BOX A" && $row[item] == "100")
Дело в том, что вам не нужно открывать другой тег php. Вы уже пишете на php, поэтому вам не нужно указывать его снова, так как это приведет к сбою вашего кода. Вместо этого вы могли бы написать что-то подобное.
else if($box == "BOX A" && $row[item] == "100") { ?> <script type='text/javascript'> var r=confirm('The Box you chosen is already full. Do you want to save the other items?'); if (r==true) alert('You pressed OK!'); else alert('You pressed Cancel!'); </script> <?php }
$str = <<<MY_MARKER <script type="text/javascript"> document.write("Hello World!"); </script> MY_MARKER; echo $str;
Ваша проблема в основном заключается в том, что когда вы эхом от вашего javascript, вы забываете, что ;
персонажу все равно необходимо продолжить JS-линии:
<?php //else if...... else if($box== "BOX A" && $row[item] == "100") { echo "<script type='text/javascript'> var r = confirm('The Box you chosen is already full. Do you want to save the other items?'); // <- this was missing if (r == true){ alert('You pressed OK!'); } else{ alert('You pressed Cancel!'); } </script>"; } ?>
Маленький трюк, который я использую, заключается в том, что эхо-эхо PHP позволяет создавать новые строки без разрыва, поэтому вы всегда можете просто откликнуться на блок кода и упростить его