2014-10-30 2 views
0

작은 양식이 포함 된 jQuery UI 대화 상자가 있습니다. 양식을 제출할 때 대화 상자를 닫습니다. 양식이 제대로 완료되었지만 유효성 검사 메시지가 표시되지 않으면이 경우 대화를 열어 두어야합니다.안에있는 양식을 제출할 때 jQuery 대화 상자가 닫히지 않게하려면 어떻게합니까?

Webassist의 Dreamweaver 확장 기능을 사용하여 유효성 검사를위한 PHP 및 SUBMIT 버튼에 의해 트리거되는 양식 데이터를 삽입하는 데이터베이스 호출을 사용하고 있습니다. 양식에 오류가있는 경우 제출 버튼이 대화 상자를 닫지 않게해야합니다.

다음은 Dreamweaver Extension에서 사전 작성된 PHP 코드가있는 양식입니다.

<form method="post" name="request" id="request" class="form-horizontal"> 
     <div class="control-group"> 
      <label for="firstname" class="control-label">First Name</label> 
      <div class="controls"> 
      <input name="firstname" type="text" class="input-large <?php 
if (ValidatedField('home_946','home_946')) { 
if ((strpos((",".ValidatedField("home_946","home_946").","), "," . "1" . ",") !== false  || "1" == "")) { 
if (!(false)) { 
?> 
       fail 
       <?php //WAFV_Conditional home.php home_946(1:) 
} 
} 
}?>" id="firstname" value="<?php echo(ValidatedField("home_946","firstname")) ?>"/> 
      <?php 
if (ValidatedField('home_946','home_946')) { 
if ((strpos((",".ValidatedField("home_946","home_946").","), "," . "1" . ",") !== false || "1" == "")) { 
if (!(false)) { 
?> 
       <p class="show-if"> Your first name is required </p> 
       <?php //WAFV_Conditional home.php home_946(1:) 
} 
} 
}?> 
      </div> 
     </div> 
     <div class="control-group"> 
      <label for="surname" class="control-label">Surname</label> 
      <div class="controls"> 
      <input name="surname" type="text" class="input-large <?php 
if (ValidatedField('home_946','home_946')) { 
if ((strpos((",".ValidatedField("home_946","home_946").","), "," . "2" . ",") !== false || "2" == "")) { 
if (!(false)) { 
?> 
       fail 
       <?php //WAFV_Conditional home.php home_946(2:) 
} 
} 
}?>" id="surname" value="<?php echo(ValidatedField("home_946","surname")) ?>"> 
      <?php 
if (ValidatedField('home_946','home_946')) { 
if ((strpos((",".ValidatedField("home_946","home_946").","), "," . "2" . ",") !== false || "2" == "")) { 
if (!(false)) { 
?> 
       <p class="show-if"> Your surname is required </p> 
       <?php //WAFV_Conditional home.php home_946(2:) 
} 
} 
}?> 
      </div> 
     </div> 
     <div class="control-group"> 
      <label for="email" class="control-label">Email</label> 
      <div class="controls"> 
      <input name="email" type="text" class="input-large <?php 
if (ValidatedField('home_946','home_946')) { 
if ((strpos((",".ValidatedField("home_946","home_946").","), "," . "3" . ",") !== false || "3" == "")) { 
if (!(false)) { 
?> 
       fail 
       <?php //WAFV_Conditional home.php home_946(3:) 
} 
} 
}?> 
<?php 
if (ValidatedField('home_946','home_946')) { 
if ((strpos((",".ValidatedField("home_946","home_946").","), "," . "4" . ",") !== false || "4" == "")) { 
if (!(false)) { 
?> 
       fail 
       <?php //WAFV_Conditional home.php home_946(4:) 
} 
} 
}?>" id="email" value="<?php echo(ValidatedField("home_946","email")) ?>"> 
      <?php 
if (ValidatedField('home_946','home_946')) { 
if ((strpos((",".ValidatedField("home_946","home_946").","), "," . "3" . ",") !== false || "3" == "")) { 
if (!(false)) { 
?> 
       <p class="show-if"> Your email is required </p> 
       <?php //WAFV_Conditional home.php home_946(3:) 
} 
} 
}?> 
      <?php 
if (ValidatedField('home_946','home_946')) { 
if ((strpos((",".ValidatedField("home_946","home_946").","), "," . "4" . ",") !== false || "4" == "")) { 
if (!(false)) { 
?> 
       <p> This is not a valid email address </p> 
       <?php //WAFV_Conditional home.php home_946(4:) 
} 
} 
}?> 
      </div> 
     </div> 
     <input type="submit"> 
     </form> 

답변

0

당신은 (그래서 팝업/모달이 다시로드하지 않음) 자바 스크립트에서 그것을 확인해야합니다, 당신은 또한 일부 PHP 유효성 검사를 할 AJAX를 사용할 수 있습니다.

다음은 원하는 것과 비슷한 jQuery UI 예제입니다.

http://jqueryui.com/dialog/#modal-form

당신은 여전히 ​​다음 코드의 좀 더를 게시하고 내가 살펴 보겠습니다보고 후 붙어있는 경우.

+0

감사합니다. javascript/AJAX/php에 대한 지식이 제한되어 있기 때문에 유효성 검사를 처리하기 위해 'WebAssists'DW 확장자를 사용하고 있습니다. 유효성 검사 메시지를 위해 만들어진 코드를 추가했습니다. –

+0

또 다른 매우 큰 PHP 파일을 만들어서 위에 게시하고 싶지는 않습니다. 그래서 필자가 지금까지 준 코드는 아마도 충분히 알려주지 않을 것입니다. 이렇게 돼서 미안하다! 네가 준 모범을 시도해 볼 수도있다. –

+0

Jon 제안에서 코드를 수정하려했지만 실패했습니다. 위의 업데이트 된 게시물을 참조하십시오. 감사! –

0

양식이 제대로 완료되지 않은 경우 오류 메시지 (대화 상자가 다시 열립니다)가 표시되기 전에 $('#info-request').trigger('click');을 추가 할 수 있습니다.

+0

위의 코드에서 알 수 있듯이 오류 메시지가 PHP 코드로 묶여 있으므로 제안을 어떻게 추가 할 수 있습니까? –

관련 문제