передача результата из оператора php if в javascript / html

0

У меня есть html файл, содержащий эту форму с двумя скрытыми диалогими над ним:

      <div class="alert alert-success alert-dismissable" style="display:none;" id="success">
        <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
        <strong>Success!</strong> Your asset has been added! </div>
      <div class="alert alert-warning alert-dismissable" style="display:none;" id="fail">
        <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
        <strong>Oops!</strong> Something went wrong! </div>
      <form class="form-horizontal" action="http://localhost/php/insert.php" method="post">
        <fieldset>

          <!-- Form Name -->
          <legend>Add An Asset</legend>

          <!-- Text input-->
          <div class="form-group">
            <label class="col-md-4 control-label" for="name">Name</label>
            <div class="col-md-5">
              <input id="name" name="name" type="text" placeholder="" class="form-control input-md">
            </div>
          </div>

          <!-- Text input-->
          <div class="form-group">
            <label class="col-md-4 control-label" for="serial">Serial Number</label>
            <div class="col-md-5">
              <input id="serial" name="serial" type="text" placeholder="" class="form-control input-md">
            </div>
          </div>

          <!-- Select Basic -->
          <div class="form-group">
            <label class="col-md-4 control-label" for="location">Location</label>
            <div class="col-md-5">
              <select id="location" name="location" class="form-control">
                <option value="1">Option one</option>
                <option value="2">Option two</option>
              </select>
            </div>
          </div>
          <!-- Button -->
            <div class="form-group">
              <label class="col-md-4 control-label" for="singlebutton"></label>
              <div class="col-md-4">
                <button id="singlebutton" name="singlebutton" class="btn btn-primary" type="submit">Submit</button>
              </div>
            </div>
        </fieldset>
      </form>

и php для формы здесь, который хранится на отдельном сервере и ссылается:

<?php
$con = mysql_connect("localhost","root","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("dissertation", $con);

$sql="INSERT INTO asset (name, serial)
VALUES
('$_POST[name]','$_POST[serial]')";




if (!mysql_query($sql,$con)) {
    $errcode = "error_code=003";
}

$referer = $_SERVER['HTTP_REFERER'];

if ($errcode) {
    if (strpos($referer, '?') === false) {
        $referer .= "?";
    }

    header("Location: $referer&$errcode");
} else {
    header("Location: $referer");
}
exit;

mysql_close($con)
?>

Мне нужно как-то изменить инструкцию if в php, чтобы отобразить диалог предупреждения, если есть код ошибки, и диалог успеха, если нет. Я понимаю, что мне нужно использовать javascript.show() и.hide(), но я не знаю, как отправить php-ответ в javascript/html файл. Я не могу поместить php в файл html/javascript, он должен оставаться отдельным.

2 ответа

2

) в вашем html файле, сделайте что-то вроде:

 <div class="alert alert-success alert-dismissable" style="<?php echo (!isset($_GET['error_code'])||empty($_GET['error_code']))?"display:none;":"";?>" id="success">
        <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
        <strong>Success!</strong> Your asset has been added! </div>
      <div class="alert alert-warning alert-dismissable" style="<?php echo (isset($_GET['error_code'])&&!empty($_GET['error_code']))?"display:none;":"";?>" id="fail">
        <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
        <strong>Oops!</strong> Something went wrong! </div>
        ...
        ...

:-)

  • 0
    Я не могу использовать php в html-файле, мой php должен быть размещен на отдельном сервере. Файл с формой должен быть чисто javascript / html
  • 0
    используйте эту концепцию и используйте $ (document) .ready (function () {}); чтобы проверить div ведьмы вам нужно ".show ()"
0

Эхо-встроенный JavaScript:

<?php

if (error) {
  echo "<script>$('selector').show()</script>";
} else {
  echo "<script>$('selector').hide()</script>";
}
  • 0
    это не работает, возможно, потому что php находится в другом файле на другом сервере?
  • 0
    Вам нужно изменить этот код, это просто бутстрап. .show() .hide() взяты из фреймворка jQuery, поэтому, естественно, я использовал $(selector) чтобы указать это, но вы должны выбрать правильный элемент. По сути, вы хотите отобразить другой встроенный код JS на основе вашего оператора PHP. Если это работает на локальной консоли, то это тоже должно быть.

Ещё вопросы

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