|
|
|
 |
 |
 |
|
[ This topic is solved ]
|
|
elguapo
|
02 December 11 / 13:44 |
|
Ik heb de ajax validator geschikt gemaakt voor mootools 1.4 ipv jquery. Interesse?
En is het geen idee om formhandler op github oid te zetten? Dan gaan dit soort aanpassingen ook makkelijker :)
|
|
|
Johan Wiegel (Admin)
|
06 December 11 / 15:26 |
|
Zelf hebben wij niet veel interesse, wij zweren bij jQuery, maar wellicht voor anderen wel interessant.
Stuur maar even naar info (at) formhandler.nl dan zullen we het eens bekijken. wellicht kunnen we het al losse download aanbieden?
|
|
|
elguapo
|
06 December 11 / 16:50 |
|
Changed at 06 December 11 / 16:52
Gaat ook niet om jullie maar om de userbase ;-)
Anyway, zoveel code is het niet:
ajax_validator.js
<?php
function FH_VALIDATE( validator, field, error, path, includedir, msg )
{
var url = path + '/ajax/validate.php';
var pars = '?value=' + $(field).get('value')
+ '&field=' + field
+ '&validator=' + validator
+ '&includedir=' + includedir
+ '&msg=' + escape( msg )
+ '&msgbox=error_' + error;
var target = 'error_'+ error;
$(target).load(url+pars);
}
?>
|
class.AjaxValidator.php
<?php
// line 87
$sScript .= " $('".$sField."').addEvent( '".$sEvent."', function(){FH_VALIDATE( '".$aField[1]->getValidator()."', '".$sField."', '".$sField."', '".FH_FHTML_DIR."', '".FH_INCLUDE_DIR."','".$sMsg."' )});\n";
// line 97
$oForm->_setJS( 'window.addEvent(\'domready\', function() {'.$sScript.'})', false, true );
// function validate
function Validate( $aRequest, $oValidator )
{
// determin if there is more than one validator
if( $aRequest['validator'] != '' AND $aRequest['msg'] != '' AND isset( $aRequest['value'] ) )
{
if( strpos( $aRequest['validator'], '|' ) > 0 )
{
$aValidators = explode( '|', $aRequest['validator'] );
}
else
{
$aValidators = array( $aRequest['validator'] );
}
// loop through validators
foreach( $aValidators AS $iKey => $sValidator )
{
if( is_object( $oValidator ) && method_exists( $oValidator, $sValidator ) AND $sValidator != 'FH_CAPTCHA' ) // CAPTCHA can not be validated by AJAX
{
if( $oValidator->$sValidator( $aRequest['value'] ) == false )
{
return "<script type=\"text/javascript\">
<!--//<![CDATA[
$('".$aRequest['msgbox']."').addClass( 'fh_error' );
$('".$aRequest['msgbox']."').removeClass( 'fh_ok' );
$('".$aRequest['msgbox']."').removeClass( 'fh_mandatory' );
$('".$aRequest['msgbox']."').getPrevious('input').addClass( 'error' );
//]]>-->
</script>".stripslashes( $aRequest['msg'] );
exit; // stop if one validator fails
}
elseif( empty( $aRequest['value'] ) )
{
return "<script type=\"text/javascript\">
<!--//<![CDATA[
$('".$aRequest['msgbox']."').getPrevious('input').removeClass( 'error' );
$('".$aRequest['msgbox']."').removeClass( 'fh_error' );
$('".$aRequest['msgbox']."').removeClass( 'fh_ok' );
$('".$aRequest['msgbox']."').addClass( 'fh_mandatory' );
//]]>-->
</script>";
exit;
}
else
{
return "
<script type=\"text/javascript\">
<!--//<![CDATA[
$('".$aRequest['msgbox']."').set('html', '');
$('".$aRequest['msgbox']."').removeClass( 'fh_mandatory' );
$('".$aRequest['msgbox']."').removeClass( 'fh_error' );
$('".$aRequest['msgbox']."').addClass( 'fh_ok' );
$('".$aRequest['msgbox']."').getPrevious('input').removeClass( 'error' );
//]]>-->
</script>";
exit;
}
}
}
}
}
en natuurlijk regel 35 aanpassen zodat de juiste library geinclude wordt, als dat nog niet gebeurd is:
$oForm->_setJS( FH_FHTML_DIR."js/mootools-1.4.1.js", true ))
?>
|
|
|
|
elguapo
|
06 December 11 / 16:50 |
|
| Oja, en is er een plan om github oid te gaan gebruiken? Dan zijn dit soort dingen ook makkelijker te regelen.
|
|
|
Johan Wiegel (Admin)
|
08 December 11 / 10:19 |
|
Juist omdat het om de userbase gaat:
kun je me de complete bestanden even mailen?
dan maken we er een aparte download van met een stukje beschrijving waarde bestanden te plaatsen.
dan hoeft men geen bestanden te bewerken, alleen te vervangen.
|
|
|
elguapo
|
12 December 11 / 15:26 |
|
| Had even geen gelegenheid te reageren maar zal deze week de aanpassingen in de mail zetten.
|
|
|
|
|
|